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老师,即将步入不惑之年,早年获得名校数学与应用数学专业学士和统计学专业硕士,有海外学习和工作的经历,近二十年来一直进行着数据分析的理论和实践,数学.统计和计算机功底强悍. 曾在某一 ...
随机推荐
- linux超级块和inode 详解 和 df 、du 命令详解与环境变量
一.inode块,Unix文件的核心. 首先需要明白的是,在Unix操作系统中的任何资源都被当作文件来管理.如目录.光驱.终端设备等等,都被当作是一种文件.从这方面来说,Unix操作系统中的所有的目录 ...
- jmeter 自动生成测试报告命令
环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...
- Django ajax小例
urls.py: url(r'^ajaxstudents/$', views.ajaxstudents), url(r'^getstudentsinfo/$', views.getstudentsin ...
- C# 笔记 获取程序当前目录
在C#中,我们有以下几种方式获取程序当前目录: Console.WriteLine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssem ...
- 关于Java序列化你应该知道的一切
什么是序列化 我们的对象并不只是存在内存中,还需要传输网络,或者保存起来下次再加载出来用,所以需要Java序列化技术. Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数 ...
- dbvisualizer设置自动补全不显示模式名
- Golang 读书
var a map[string] int 类似Key\Value var( 多个变量,避免多次声明var ) 声明变量 多重赋值 i,j=j,i 匿名变量 _ literal 字面常量 con ...
- vue侦听属性和计算属性
监听movies,实现点击添加显示到li标签里面.页面效果如下: <template> <div> <div class="moive"> &l ...
- Future模式的简单实现
/** * 数据接口 */ public interface Data { public String getResult(); } /** * 最终需要使用的数据模型 */ public class ...
- 基于Kubernetes 的Cloud Native 实战 培训课程安排
课程安排: 基于Kubernetes 的Cloud Native 实战 课程介绍: 云计算.虚拟化.容器微服务PaaS 技术已经广泛应用于新兴互联网企业(如电商平台.搜索引擎.社交平台网站.位置服务平 ...