1、读取数据

> bank=read.table("bank-full.csv",header=TRUE,sep=";")
>

2、查看数据结构

> bank=read.table("bank-full.csv",header=TRUE,sep=",")
> str(bank)
'data.frame': 41188 obs. of 21 variables:
$ age : int 56 57 37 40 56 45 59 41 24 25 ...
$ job : Factor w/ 12 levels "admin.","blue-collar",..: 4 8 8 1 8 8 1 2 10 8 ...
$ marital : Factor w/ 4 levels "divorced","married",..: 2 2 2 2 2 2 2 2 3 3 ...
$ education : Factor w/ 8 levels "basic.4y","basic.6y",..: 1 4 4 2 4 3 6 8 6 4 ...
$ default : Factor w/ 3 levels "no","unknown",..: 1 2 1 1 1 2 1 2 1 1 ...
$ housing : Factor w/ 3 levels "no","unknown",..: 1 1 3 1 1 1 1 1 3 3 ...
$ loan : Factor w/ 3 levels "no","unknown",..: 1 1 1 1 3 1 1 1 1 1 ...
$ contact : Factor w/ 2 levels "cellular","telephone": 2 2 2 2 2 2 2 2 2 2 ...
$ month : Factor w/ 10 levels "apr","aug","dec",..: 7 7 7 7 7 7 7 7 7 7 ...
$ day_of_week : Factor w/ 5 levels "fri","mon","thu",..: 2 2 2 2 2 2 2 2 2 2 ...
$ duration : int 261 149 226 151 307 198 139 217 380 50 ...
$ campaign : int 1 1 1 1 1 1 1 1 1 1 ...
$ pdays : int 999 999 999 999 999 999 999 999 999 999 ...
$ previous : int 0 0 0 0 0 0 0 0 0 0 ...
$ poutcome : Factor w/ 3 levels "failure","nonexistent",..: 2 2 2 2 2 2 2 2 2 2 ...
$ emp.var.rate : num 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 ...
$ cons.price.idx: num 94 94 94 94 94 ...
$ cons.conf.idx : num -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 -36.4 ...
$ euribor3m : num 4.86 4.86 4.86 4.86 4.86 ...
$ nr.employed : num 5191 5191 5191 5191 5191 ...
$ y : Factor w/ 2 levels "no","yes": 1 1 1 1 1 1 1 1 1 1 ...

3、查看摘要统计量

> summary(bank)
age job marital education
Min. :17.00 admin. :10422 divorced: 4612 university.degree :12168
1st Qu.:32.00 blue-collar: 9254 married :24928 high.school : 9515
Median :38.00 technician : 6743 single :11568 basic.9y : 6045
Mean :40.02 services : 3969 unknown : 80 professional.course: 5243
3rd Qu.:47.00 management : 2924 basic.4y : 4176
Max. :98.00 retired : 1720 basic.6y : 2292
(Other) : 6156 (Other) : 1749
default housing loan contact month
no :32588 no :18622 no :33950 cellular :26144 may :13769
unknown: 8597 unknown: 990 unknown: 990 telephone:15044 jul : 7174
yes : 3 yes :21576 yes : 6248 aug : 6178
jun : 5318
nov : 4101
apr : 2632
(Other): 2016
day_of_week duration campaign pdays previous
fri:7827 Min. : 0.0 Min. : 1.000 Min. : 0.0 Min. :0.000
mon:8514 1st Qu.: 102.0 1st Qu.: 1.000 1st Qu.:999.0 1st Qu.:0.000
thu:8623 Median : 180.0 Median : 2.000 Median :999.0 Median :0.000
tue:8090 Mean : 258.3 Mean : 2.568 Mean :962.5 Mean :0.173
wed:8134 3rd Qu.: 319.0 3rd Qu.: 3.000 3rd Qu.:999.0 3rd Qu.:0.000
Max. :4918.0 Max. :56.000 Max. :999.0 Max. :7.000 poutcome emp.var.rate cons.price.idx cons.conf.idx
failure : 4252 Min. :-3.40000 Min. :92.20 Min. :-50.8
nonexistent:35563 1st Qu.:-1.80000 1st Qu.:93.08 1st Qu.:-42.7
success : 1373 Median : 1.10000 Median :93.75 Median :-41.8
Mean : 0.08189 Mean :93.58 Mean :-40.5
3rd Qu.: 1.40000 3rd Qu.:93.99 3rd Qu.:-36.4
Max. : 1.40000 Max. :94.77 Max. :-26.9 euribor3m nr.employed y
Min. :0.634 Min. :4964 no :36548
1st Qu.:1.344 1st Qu.:5099 yes: 4640
Median :4.857 Median :5191
Mean :3.621 Mean :5167
3rd Qu.:4.961 3rd Qu.:5228
Max. :5.045 Max. :5228
> psych::describe(bank)
vars n mean sd median trimmed mad min max
age 1 41188 40.02 10.42 38.00 39.30 10.38 17.00 98.00
job* 2 41188 4.72 3.59 3.00 4.48 2.97 1.00 12.00
marital* 3 41188 2.17 0.61 2.00 2.21 0.00 1.00 4.00
education* 4 41188 4.75 2.14 4.00 4.88 2.97 1.00 8.00
default* 5 41188 1.21 0.41 1.00 1.14 0.00 1.00 3.00
housing* 6 41188 2.07 0.99 3.00 2.09 0.00 1.00 3.00
loan* 7 41188 1.33 0.72 1.00 1.16 0.00 1.00 3.00
contact* 8 41188 1.37 0.48 1.00 1.33 0.00 1.00 2.00
month* 9 41188 5.23 2.32 5.00 5.31 2.97 1.00 10.00
day_of_week* 10 41188 3.00 1.40 3.00 3.01 1.48 1.00 5.00
duration 11 41188 258.29 259.28 180.00 210.61 139.36 0.00 4918.00
campaign 12 41188 2.57 2.77 2.00 1.99 1.48 1.00 56.00
pdays 13 41188 962.48 186.91 999.00 999.00 0.00 0.00 999.00
previous 14 41188 0.17 0.49 0.00 0.05 0.00 0.00 7.00
poutcome* 15 41188 1.93 0.36 2.00 2.00 0.00 1.00 3.00
emp.var.rate 16 41188 0.08 1.57 1.10 0.27 0.44 -3.40 1.40
cons.price.idx 17 41188 93.58 0.58 93.75 93.58 0.56 92.20 94.77
cons.conf.idx 18 41188 -40.50 4.63 -41.80 -40.60 6.52 -50.80 -26.90
euribor3m 19 41188 3.62 1.73 4.86 3.81 0.16 0.63 5.04
nr.employed 20 41188 5167.04 72.25 5191.00 5178.43 55.00 4963.60 5228.10
y* 21 41188 1.11 0.32 1.00 1.02 0.00 1.00 2.00
range skew kurtosis se
age 81.00 0.78 0.79 0.05
job* 11.00 0.45 -1.39 0.02
marital* 3.00 -0.06 -0.34 0.00
education* 7.00 -0.24 -1.21 0.01
default* 2.00 1.44 0.07 0.00
housing* 2.00 -0.14 -1.95 0.00
loan* 2.00 1.82 1.38 0.00
contact* 1.00 0.56 -1.69 0.00
month* 9.00 -0.31 -1.03 0.01
day_of_week* 4.00 0.01 -1.27 0.01
duration 4918.00 3.26 20.24 1.28
campaign 55.00 4.76 36.97 0.01
pdays 999.00 -4.92 22.23 0.92
previous 7.00 3.83 20.11 0.00
poutcome* 2.00 -0.88 3.98 0.00
emp.var.rate 4.80 -0.72 -1.06 0.01
cons.price.idx 2.57 -0.23 -0.83 0.00
cons.conf.idx 23.90 0.30 -0.36 0.02
euribor3m 4.41 -0.71 -1.41 0.01
nr.employed 264.50 -1.04 0.00 0.36
y* 1.00 2.45 4.00 0.00

4、查看数据是否有缺失

> sapply(bank,anyNA)
age job marital education default
FALSE FALSE FALSE FALSE FALSE
housing loan contact month day_of_week
FALSE FALSE FALSE FALSE FALSE
duration campaign pdays previous poutcome
FALSE FALSE FALSE FALSE FALSE
emp.var.rate cons.price.idx cons.conf.idx euribor3m nr.employed
FALSE FALSE FALSE FALSE FALSE
y
FALSE
>

5、单变量频数分析

> table(bank$y)

   no   yes
36548 4640
>

6、两个变量的交叉列联表

> table(bank$y,bank$marital)

      divorced married single unknown
no 4136 22396 9948 68
yes 476 2532 1620 12
>
> xtabs(~y+marital,data=bank)
marital
y divorced married single unknown
no 4136 22396 9948 68
yes 476 2532 1620 12
>

7、

> prop.table(tab,1)

         divorced     married      single     unknown
no 0.113166247 0.612783189 0.272189997 0.001860567
yes 0.102586207 0.545689655 0.349137931 0.002586207
> prop.table(tab,2) divorced married single unknown
no 0.8967910 0.8984275 0.8599585 0.8500000
yes 0.1032090 0.1015725 0.1400415 0.1500000
>

8、构建更复杂的Table

> ftable(bank[,c(3,4,21)],row.vars = c(1,2),col.vars = "y")
y no yes
marital education
divorced basic.4y 406 83
basic.6y 169 13
basic.9y 534 31
high.school 1086 107
illiterate 1 1
professional.course 596 61
university.degree 1177 160
unknown 167 20
married basic.4y 2915 313
basic.6y 1628 139
basic.9y 3858 298
high.school 4683 475
illiterate 12 3
professional.course 2799 357
university.degree 5573 821
unknown 928 126
single basic.4y 422 31
basic.6y 301 36
basic.9y 1174 142
high.school 2702 448
illiterate 1 0
professional.course 1247 177
university.degree 3723 683
unknown 378 103
unknown basic.4y 5 1
basic.6y 6 0
basic.9y 6 2
high.school 13 1
illiterate 0 0
professional.course 6 0
university.degree 25 6
unknown 7 2
>

9、卡方检验

> tab

      divorced married single unknown
no 4136 22396 9948 68
yes 476 2532 1620 12
> chisq.test(tab)

    Pearson's Chi-squared test

data:  tab
X-squared = 122.66, df = 3, p-value < 2.2e-16 >

10、连续数据可视化

> hist(bank$age)
>

11、连续变量的分布

> library(lattice)
> densityplot(~age,groups=y,data=bank,plot.point=FALSE,auto.key = TRUE)
>

92、R语言分析案例的更多相关文章

  1. R语言分析朝阳医院数据

    R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...

  2. 用R语言分析与预測员工离职

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...

  3. 分类算法的R语言实现案例

    最近在读<R语言与网站分析>,书中对分类.聚类算法的讲解通俗易懂,和数据挖掘理论一起看的话,有很好的参照效果. 然而,这么好的讲解,作者居然没提供对应的数据集.手痒之余,我自己动手整理了一 ...

  4. 用R语言分析我的fitbit计步数据

    目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...

  5. 使用R语言分析股价波动

    今天看的R语言.做个笔记. 使用R语言读取雅虎財经数据.分析微软公司(股票代码:MSFT)在2015年股价波动超过百分之十的日期. 然后通过检索新闻的方式,看看微软当天有什么新闻发生,导致股价波动. ...

  6. R语言分析(一)-----基本语法

      一, R语言所处理的工作层: 解释一下: 最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告 再往上的三层,分别是数据挖掘,数据展现和数据决策. 由上图 ...

  7. R语言分析(二)——薛毅R语言第二章后面习题解析

    包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉 ...

  8. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  9. 大数据时代的精准数据挖掘——使用R语言

    老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...

随机推荐

  1. 测开之路五十一:代码实现MongoDB增删改查

    初始化时连接.析构时断开连接 from pymongo import MongoClient class Mogo(object): def __init__(self, host='127.0.0. ...

  2. Asp.Net Core 第01局:项目创建和部署 转载https://www.jianshu.com/p/9c9750e23b3e

    总目录 一.前言 本文通过从项目创建到部署,简单介绍Asp.Net Core. 二.环境 1.Visual Studio 2017 2.Asp.Net Core 2.2 三.开局 第一手:创建项目   ...

  3. 使用matplotlib画出log的图像

    以下内容是学习笔记,若有侵权,立即删除! import math import matplotlib.pyplot as plt import numpy as np if __name__ == ' ...

  4. 洛谷 P1522 牛的旅行 Cow Tours——暴力枚举+最短路

    先上一波题目  https://www.luogu.org/problem/P1522 这道题其实就是给你几个相互独立的连通图 问找一条新的路把其中的两个连通图连接起来后使得新的图中距离最远的两个点之 ...

  5. java反射(三)--反射与操作类

    一.反射与操作类 在反射机制的处理过程之中不仅仅只是一个实例化对象的处理操作,更多的情况下还有类的组成的操作,任何一个类的基本组成结构:父类(父接口),包,属性,方法(构造方法,普通方法)--获取类的 ...

  6. 整理eclipse,升级jdk环境小记录

    这2天在整理项目: 需要把eclipse 32位,jdk1.6 32位的更改为eclipse 64位,jdk1.8 64位版本的,于是我就在一台window7的电脑上直接操作,遇到了一下几点问题,记录 ...

  7. 第五节 RabbitMQ在C#端的应用-消息收发

    原文:第五节 RabbitMQ在C#端的应用-消息收发 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/873 ...

  8. C# 中类重写 ToString 方法

    一,C# 中的每个类或结构都隐式继承 Object 类.因此,C# 中的每个对象都会获得 ToString 方法,此方法返回该对象的字符串表示形式.而同时在Object 中的ToString是虚方法则 ...

  9. linux装mysql

    1.对于MySQL-5.6.35-1.el6.x86_64.rpm-bundle.tar来说 2.命令: rpm -Uvh MySQL-*.rpm 3.将my.cnf复制到/etc下 4.记得关掉se ...

  10. 2018-8-10-WPF-判断USB插拔

    title author date CreateTime categories WPF 判断USB插拔 lindexi 2018-08-10 19:16:53 +0800 2018-8-5 13:0: ...