黄利东
29/04/2021
-逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值),其文件以纯文本形式存储表格数据(数字和文本)
-CSV是一种通用的、相对简单的文件格式,最广泛的应用是在程序之间转移表格数据
-Excel处理后的数据可以另存为CSV文件(见图8-1)
-R可以非常容易地读取CSV文件
图8-1:Excel文件另存为csv文件
-首先制定你想要读入的csv文档位置,一般而言我们需要把某个项目的全部文件都放在同一文件夹中进行处理。然后,你让R访问这个文件夹就可以实现文件交互操作。
-ctrl+shift+H 快捷键组合可以制定工作路径(你想利用R访问文件的文件夹地址)
-我已在R设定好我刚才存放csv文件的位置,你也需要这样做!
> setwd("C:/Users/lidong/Desktop/")#ctrl+shift+H
> diamonds <- read.csv("diamonds.csv")#通过read.csv函数读入文件,双引号的字符串是你的文件名,必须和你保存的文件名一致,此处建议通过复制操作实现
> class(diamonds)#"data.frame" 数据框是R存储数据的核心,相当于Excel的一个sheet## [1] "data.frame"
-与矩阵索引类似,可以通过[i,j]寻址第i行,第j列
-可以通过美元符号$索引
-还可以通过[[]]方括号嵌套索引列,比如data[[2]]就是data数据内的第二列
通过函数colnames()或names()返回数据框的列名称,通过函数rownames()返回数据框的行名称
## [1] "carat" "cut" "color" "clarity" "depth" "table" "price"
## [8] "x" "y" "z"
## [1] "carat" "cut" "color" "clarity" "depth" "table" "price"
## [8] "x" "y" "z"
-数据框
airquality #纽约1973年5-9月每日空气质量
anscombe #四组x-y数据,虽有相似的统计量,但实际数据差别较大
attenu #多个观测站对加利福尼亚23次地震的观测数据
attitude #30个部门在七个方面的调查结果,调查结果是同一部门35个职员赞成的百分比
beaver1 #一只海狸每10分钟的体温数据,共114条数据
beaver2 #另一只海狸每10分钟的体温数据,共100条数据
BOD #随水质的提高,生化反应对氧的需求(mg/l)随时间(天)的变化
cars #1920年代汽车速度对刹车距离的影响
chickwts #不同饮食种类对小鸡生长速度的影响
esoph #法国的一个食管癌病例对照研究
faithful #一个间歇泉的爆发时间和持续时间
Formaldehyde #两种方法测定甲醛浓度时分光光度计的读数
Freeny #每季度收入和其他四因素的记录
dating from #配对的病例对照数据,用于条件logistic回归
InsectSprays #使用不同杀虫剂时昆虫数目
iris #3种鸢尾花形态数据
LifeCycleSavings #50个国家的存款率
longley #强共线性的宏观经济数据
morley #光速测量试验数据
mtcars #32辆汽车在11个指标上的数据
OrchardSprays #使用拉丁方设计研究不同喷雾剂对蜜蜂的影响
PlantGrowth #三种处理方式对植物产量的影响
pressure #温度和气压
Puromycin #两种细胞中辅因子浓度对酶促反应的影响
quakes #1000次地震观测数据(震级>4)
randu #在VMS1.5中使用FORTRAN中的RANDU三个一组生成随机数字,共400组。
rock #48块石头的形态数据
sleep #两药物的催眠效果
stackloss #化工厂将氨转为硝酸的数据
swiss #瑞士生育率和社会经济指标
ToothGrowth #VC剂量和摄入方式对豚鼠牙齿的影响
trees #树木形态指标
USArrests #美国50个州的四个犯罪率指标
USJudgeRatings #43名律师的12个评价指标
warpbreaks #织布机异常数据
women #15名女性的身高和体重
## [1] 32
## [1] 11
## [1] 32 11
## [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
## [11] "carb"
## [1] "gas_consumption" "cyl" "disp" "hp"
## [5] "drat" "wt" "qsec" "vs"
## [9] "am" "gear" "carb"
## [1] "Ma.zi.da" "Mazda RX4 Wag" "Datsun 710"
## [4] "Hornet 4 Drive" "Hornet Sportabout" "Valiant"
## [7] "Duster 360" "Merc 240D" "Merc 230"
## [10] "Merc 280" "Merc 280C" "Merc 450SE"
## [13] "Merc 450SL" "Merc 450SLC" "Cadillac Fleetwood"
## [16] "Lincoln Continental" "Chrysler Imperial" "Fiat 128"
## [19] "Honda Civic" "Toyota Corolla" "Toyota Corona"
## [22] "Dodge Challenger" "AMC Javelin" "Camaro Z28"
## [25] "Pontiac Firebird" "Fiat X1-9" "Porsche 914-2"
## [28] "Lotus Europa" "Ford Pantera L" "Ferrari Dino"
## [31] "Maserati Bora" "Volvo 142E"
## gas_consumption cyl disp hp drat wt qsec vs am gear carb
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## [1] FALSE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE
## [13] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
## [25] FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE
## [1] 3 4 6 8 9 10 11 18 19 20 21 26 28 32
## gas_consumption cyl disp hp drat wt qsec vs am gear carb
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
## Group.1 Group.2 gas_consumption cyl disp hp drat wt qsec vs am gear
## 1 0 3 15.1 8.00 357.6 194.2 3.12 4.10 17.1 0 0.0 3
## 2 1 3 20.3 5.33 201.0 104.0 3.18 3.05 19.9 1 0.0 3
## 3 0 4 21.0 6.00 160.0 110.0 3.90 2.75 16.7 0 1.0 4
## 4 1 4 25.2 4.40 115.6 85.4 4.07 2.59 19.4 1 0.6 4
## 5 0 5 19.1 6.50 229.3 216.2 3.95 2.91 15.3 0 1.0 5
## 6 1 5 30.4 4.00 95.1 113.0 3.77 1.51 16.9 1 1.0 5
## carb
## 1 3.08
## 2 1.00
## 3 4.00
## 4 2.00
## 5 5.00
## 6 2.00
## [1] "carat" "cut" "color" "clarity" "depth" "table" "price"
## [8] "x" "y" "z"
> report.table <- aggregate(diamonds[,-c(2:4)],by=list(diamonds$cut,diamonds$color),mean)#对能求平均值的求平均
> report.table## Group.1 Group.2 carat depth table price x y z
## 1 Fair D 0.920 64.0 59.0 4291 6.02 5.96 3.84
## 2 Good D 0.745 62.4 58.5 3405 5.62 5.63 3.50
## 3 Ideal D 0.566 61.7 56.0 2629 5.19 5.20 3.20
## 4 Premium D 0.722 61.2 58.7 3631 5.60 5.57 3.42
## 5 Very Good D 0.696 61.8 58.0 3470 5.50 5.53 3.41
## 6 Fair E 0.857 63.3 59.4 3682 5.91 5.86 3.72
## 7 Good E 0.745 62.2 58.8 3424 5.62 5.63 3.50
## 8 Ideal E 0.578 61.7 56.0 2598 5.22 5.23 3.22
## 9 Premium E 0.718 61.2 58.8 3539 5.59 5.56 3.41
## 10 Very Good E 0.676 61.7 58.0 3215 5.43 5.46 3.37
## 11 Fair F 0.905 63.5 59.5 3827 5.99 5.93 3.79
## 12 Good F 0.776 62.2 58.9 3496 5.69 5.71 3.54
## 13 Ideal F 0.656 61.7 55.9 3375 5.41 5.42 3.34
## 14 Premium F 0.827 61.3 58.7 4325 5.88 5.84 3.59
## 15 Very Good F 0.741 61.7 57.8 3779 5.61 5.64 3.47
## 16 Fair G 1.024 64.3 58.8 4239 6.17 6.11 3.96
## 17 Good G 0.851 62.5 58.5 4123 5.85 5.86 3.65
## 18 Ideal G 0.701 61.7 55.9 3721 5.51 5.52 3.40
## 19 Premium G 0.841 61.3 58.7 4501 5.86 5.83 3.58
## 20 Very Good G 0.767 61.8 57.8 3873 5.66 5.69 3.51
## 21 Fair H 1.219 64.6 58.7 5136 6.58 6.50 4.22
## 22 Good H 0.915 62.5 58.6 4276 5.97 5.97 3.73
## 23 Ideal H 0.800 61.7 56.0 3889 5.73 5.74 3.54
## 24 Premium H 1.016 61.3 58.8 5217 6.24 6.23 3.81
## 25 Very Good H 0.916 62.0 57.9 4535 5.98 6.01 3.71
## 26 Fair I 1.198 64.2 59.2 4685 6.56 6.49 4.19
## 27 Good I 1.057 62.5 58.8 5079 6.25 6.26 3.90
## 28 Ideal I 0.913 61.8 56.0 4452 5.98 5.99 3.70
## 29 Premium I 1.145 61.3 58.8 5946 6.49 6.45 3.96
## 30 Very Good I 1.047 61.9 58.1 5256 6.27 6.30 3.89
## 31 Fair J 1.341 64.4 58.9 4976 6.75 6.68 4.32
## 32 Good J 1.100 62.4 58.8 4574 6.38 6.39 3.98
## 33 Ideal J 1.064 61.8 56.0 4918 6.32 6.33 3.91
## 34 Premium J 1.293 61.4 58.9 6295 6.81 6.77 4.17
## 35 Very Good J 1.133 61.9 58.3 5104 6.46 6.50 4.01
## [1] "carat" "cut" "color" "clarity" "depth" "table" "price"
## [8] "x" "y" "z"
## cut D E F G H I J
## 1 Fair 0.920 0.857 0.905 1.024 1.219 1.198 1.34
## 2 Good 0.745 0.745 0.776 0.851 0.915 1.057 1.10
## 3 Ideal 0.566 0.578 0.656 0.701 0.800 0.913 1.06
## 4 Premium 0.722 0.718 0.827 0.841 1.016 1.145 1.29
## 5 Very Good 0.696 0.676 0.741 0.767 0.916 1.047 1.13
数据变形和融合是数据处理所需要的,R中有“成千上万”种数据变形手段,reshape包是非常基础的,理解reshape包的逻辑对学好其他方式有帮助。
图8-2:reshape包中melt和cast函数的用法示意图