R语言学习笔记2——数据集
2014-01-29 22:25
176 查看
R语言学习笔记2--数据集篇
参考资料:R语言实战
数据集即dataset,就是我们通常说的数据表,有行列信息。
其它的参数看名字就能明白是什么意思,着重说一下byrow这个参数,如果是true说明矩阵的值是按列排的,就是说先填完第一列再填第二列。如果false就是按照行排列。
矩阵的下标和c语言的数组下标差不多。不赘述
数组的选取和其它都一样,比如z[1,1,3]就是9:
数据框的创建函数:data.frame(col1,col2,col3……)
如果要创建一个表的话,可以从单列创建,最后组合成数据框。例如我们上一期的例题图表就可以这么创建:
这里会引入一个新符号$,这个符号可以取出数据框中的某一列。比如我们要取出age,就输入:
果要对某一列进行排序的话,需要使用order函数。还是回到第一节的例题,通过刚才的步骤我们已经把residentTable这个数据框给建立起来了。根据题目要求,需要按照社会保险号的顺序重新排列收入。具体实现代码如下:
如果觉得行列名不美观,可以通过data.fram来定义行列名
例题的解答过程会放在下一个部分。祝大家新春快乐。
参考资料:R语言实战
数据集即dataset,就是我们通常说的数据表,有行列信息。
矩阵
矩阵是二维数组,可以通过函数matrix创建矩阵。实例如下:其它的参数看名字就能明白是什么意思,着重说一下byrow这个参数,如果是true说明矩阵的值是按列排的,就是说先填完第一列再填第二列。如果false就是按照行排列。
矩阵的下标和c语言的数组下标差不多。不赘述
数组
数组和矩阵类似,维度可以大于2。可以理解成c语言里的多维数组。数组myarray<-array(vector, dimensions, dimnames), dimensions 表示维度,比如一个2*2*3的数组,那么dimensions就是c(2,2,3)。下面例子显示了如何创建多维的数组。> dim<-c("a1","a2") //这行命名了数组第一维度的名字 > z<-array(1:16,c(2,2,3),dimnames=list(dim)) //创建数组的命令 > z , , 1 [,1] [,2] a1 1 3 a2 2 4 , , 2 [,1] [,2] a1 5 7 a2 6 8 , , 3 [,1] [,2] a1 9 11 a2 10 12
数组的选取和其它都一样,比如z[1,1,3]就是9:
> z[1,1,3] a1 9
数据框
数据框就是sas,spss等里面的数据集,sas里一个数据集就是一张表。因此数据框将会是以后最常见的数据类型。数据框的创建函数:data.frame(col1,col2,col3……)
如果要创建一个表的话,可以从单列创建,最后组合成数据框。例如我们上一期的例题图表就可以这么创建:
> SSN<-c(123874414,646239182,012437652,018451357) //这里创建了社保号这一列 > ASalary<-c(28000,29500,35100,26500) //创建年收入列 > age<-c(35,37,40,31) //创建年龄列 > race<-c("w","b","w","w") //种族列 ) > residentTable<-data.frame(SSN,ASalary,age,race) //创建residentTable数据框 > residentTable SSN ASalary age race //打印出residentTable表 1 123874414 28000 35 w 2 646239182 29500 37 b 3 12437652 35100 40 w 4 18451357 26500 31 w
这里会引入一个新符号$,这个符号可以取出数据框中的某一列。比如我们要取出age,就输入:
residentTable$age
果要对某一列进行排序的话,需要使用order函数。还是回到第一节的例题,通过刚才的步骤我们已经把residentTable这个数据框给建立起来了。根据题目要求,需要按照社会保险号的顺序重新排列收入。具体实现代码如下:
> o<-order(SSN) //order函数会按照升序重排变量顺序,并写入到向量o里面 > o [1] 3 4 1 2 //这里可见order函数的返回值其实是一列顺序向量 > rbind(SSN[o],ASalary[o]) //接下来rbind社保号和年收入,重排序后的对照表就出来了。 [,1] [,2] [,3] [,4] [1,] 12437652 18451357 123874414 646239182 [2,] 35100 26500 28000 29500
如果觉得行列名不美观,可以通过data.fram来定义行列名
new<-data.frame(rbind(SSN[o],ASalary[o])) > new X1 X2 X3 X4 1 12437652 18451357 123874414 646239182 2 35100 26500 28000 29500
例题:
一个大公司想了解哪些人购买了其产品,ceo希望得到“典型购房者”的情况。于是收集了购买者的如下信息:年龄,种族,收入,婚姻状况,以及是有房还是租房。请编写一个程序得到典型购房者的概况。(需要自己编写数据)例题的解答过程会放在下一个部分。祝大家新春快乐。
参考教材
R in action 下载相关文章推荐
- R语言学习笔记 - 创建数据集
- R语言学习笔记(一) ---创建R语言数据集
- 深度学习Caffe实战笔记(19)Windows平台 Faster-RCNN 制作自己的数据集
- R语言与显著性检验学习笔记
- 应用统计学与R语言实现学习笔记(七)——拟合优度检验
- R语言与回归分析学习笔记(应用回归小结)(1)
- R语言与区间估计学习笔记
- R语言学习笔记之<在Linux上遇到的问题集锦>
- 应用统计学与R语言实现学习笔记后记
- 应用统计学与R语言实现学习笔记(二)——数据收集
- R语言的数据导入与导出学习笔记
- R语言学习笔记(二)
- caffe学习笔记18-image1000test200数据集分类与检索完整过程
- R语言学习笔记 四
- R语言学习笔记(6)(循环)
- R语言学习笔记
- R语言学习笔记--数据框输出和查看
- R语言学习笔记(5)
- Coursera 机器学习(by Andrew Ng)课程学习笔记 Week 6(二)——误差分析与数据集偏斜处理
- R语言与回归分析学习笔记(应用回归小结)(2)