92、R语言分析案例
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语言分析案例的更多相关文章
- R语言分析朝阳医院数据
R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...
- 用R语言分析与预測员工离职
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/83542978 https://mmbiz.qpic ...
- 分类算法的R语言实现案例
最近在读<R语言与网站分析>,书中对分类.聚类算法的讲解通俗易懂,和数据挖掘理论一起看的话,有很好的参照效果. 然而,这么好的讲解,作者居然没提供对应的数据集.手痒之余,我自己动手整理了一 ...
- 用R语言分析我的fitbit计步数据
目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来 已有原始数据:fitbit2014年每日的记录电子表格文件,全部数据点此下载,示例如下: 日期 消耗卡路里数 步 距离 攀爬楼 ...
- 使用R语言分析股价波动
今天看的R语言.做个笔记. 使用R语言读取雅虎財经数据.分析微软公司(股票代码:MSFT)在2015年股价波动超过百分之十的日期. 然后通过检索新闻的方式,看看微软当天有什么新闻发生,导致股价波动. ...
- R语言分析(一)-----基本语法
一, R语言所处理的工作层: 解释一下: 最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告 再往上的三层,分别是数据挖掘,数据展现和数据决策. 由上图 ...
- R语言分析(二)——薛毅R语言第二章后面习题解析
包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉 ...
- R语言重要数据集分析研究——需要整理分析阐明理念
1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...
- 大数据时代的精准数据挖掘——使用R语言
老师简介: Gino老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...
随机推荐
- 8051 r0-r7 是什么
R0~R7表示当前选中的寄存器组的寄存器0~7,5I机有p0,p1,p2,p3口,每组有八个寄存器(R0-R7),比如MOV A Rn (n=0~7),表示把寄存器Rn 的内容送给累加器A,其中源操作 ...
- net core 发布docker镜像的官方写法
使用vscode发布的镜像可能存在不能运行的问题, 可以去docker的官方文档下找一个标准的格式再替换一下就可以用了: FROM mcr.microsoft.com/dotnet/core/sdk: ...
- 神他么奇怪NoClassDefFoundError
javaweb 项目,部署在Tomcat服务器 十分奇葩的问题 之前一直好好的,今天突然就给报错.代码没动过.真是奇葩.创建User对象报NoClassDefFoundError, User类是一个普 ...
- exporter
何为 Prometheus Exporter? Prometheus 监控基于一个很简单的模型: 主动抓取目标的指标接口(HTTP 协议)获取监控指标, 再存储到本地或远端的时序数据库. Promet ...
- QT简介及下载
| 版权声明:本文为博主原创文章,未经博主允许不得转载. Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI 程序,比如控制 ...
- redis 入门之有序集合
zadd 将一个或多个 member 元素及其 score 值加入到有序集 key 当中.如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 ...
- [fw]PAGE_SIZE & PAGE_SHIFT & _AC()
PAGE_SIZE & PAGE_SHIFT & _AC() 在大多系统下,PAGE_SIZE被定义为 4k 大小,即 4096 字节. 在 x86 系统里,PAGE_SIZE 和 P ...
- HDU多校训练第一场 1012 Sequence
题目链接:acm.hdu.edu.cn/showproblem.php?pid=6589 题意:给出一个长度为n的数组,有m次操作,操作有3种1,2,3,问操作m次后的数组,输出i*a[i]的异或和 ...
- java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation getting while running test project?
转摘:http://stackoverflow.com/questions/11155340/java-lang-illegalaccesserror-class-ref-in-pre-verifie ...
- Springboot1.5.9整合WebSocket
一.WebSocket介绍 1.WebSocket是什么? WebSocket是协议,是HTML5开始提供的基于TCP(传输层)的一种新的网络协议, 它实现了浏览器与服务器全双工(full-duple ...