资源描述:
《r语言学习系列17-数据整合ⅰ—基本操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、16.数据整合Ⅰ—基本操作目录:一.数据框创建新变量二、变量的重命名三.变量的重新编码四.数据排序五.数据合并六.选取数据的子集七.简单的随机抽样正文:一、数据框创建新变量假设有MyData数据框,其中变量为x1,x2.现创建名为sumx和meanx的新变量,分别存储变量x1与x2的加和与均值。#方法1MyData$sumx<-MyData$x1+MyData$x2MyData$meanx<-(MyData$x1+MyData$x2)/2#方法2attach(MyData)MyData$sumx<-x1+x2MyData$meanx<-(x1+x2)/2detach(
2、MyData)#方法3(建议方法)MyData<-transform(MyData,sumx=x1+x2,meanx=(x1+x2)/2)二、变量的重命名1.用交互式编辑器若修改数据集x的变量名,键入函数fix(x),即可打开交互式编辑器界面。score<-data.frame(student=c("A","B","C","D"),gender=c("M","M","F","F"),math=c(90,70,80,60),Eng=c(88,78,69,98),pl=c(66,59,NA,88))fix(score)score.list<-as.list(score)#
3、将score转化为列表fix(score.list)(1)若数据集为矩阵或数据框将打开“数据编辑器”,单击要修改的变量名,在弹出的“变量编辑器”修改即可:(2)若数据集为列表将交互式编辑器为一个记事本,只需修改“.Names”之后对应的变量名即可:2.用函数rename()reshape包中的函数rename(),用来修改数据库和列表的变量名,但不能修改矩阵的变量名,基本格式为:rename(x,c(oldname="newname",...))其中,oldname为原变量名,newname为新变量名。library(reshape)rename(score,c(pl
4、="chinese"))studentgendermathEngchinese1AM9088662BM7078593CF8069NA4DF609888rename(score.list,c(pl="chinese"))$student[1]ABCDLevels:ABCD$gender[1]MMFFLevels:FM$math[1]90708060$Eng[1]88786998$chinese[1]6659NA88注意:原数据集中的变量名并未被修改。3.用函数names()和rename()一样可用来修改数据框和列表的变量名,不能修改矩阵的变量名;区别在于:names(
5、)会在原数据集中修改变量名。其基本格式为:names(x)[i]<-"newname"names(score)[5]="chinese"scorestudentgendermathEngchinese1AM9088662BM7078593CF8069NA4DF6098884.用函数colnames()和rownames()用来修改矩阵的变量名(行名和列名),也能修改数据框的行名和列名。基本格式为:rownames(x)[i]<-"newname"colnames(score)[5]="Chinese"scorestudentgendermathEngChinese1A
6、M9088662BM7078593CF8069NA4DF609888rownames(score)=letters[1:4]scorestudentgendermathEngChineseaAM908866bBM707859cCF8069NAdDF609888三、变量的重新编码例如,数据集Leader中连续型变量age重新编码为分类型变量rankAge(Young、MiddleAged、Elder)。首先,必须把99岁的年龄值重新编码为缺失值:Leader$age[Leader$age==99]<-NA然后创建rankAge变量:Leader$rankAge[Lead
7、er$age>75]<-"Elder"Leader$rankAge[Leader$age>=50&Leader$age<=75]<-"MiddleAged"Leader$rankAge[Leader$age<50]<-"Young"或者Leader<-within(Leader,{rankAge<-NArankAge[age>75]<-"Elder"rankAge[age>=50&age<=75]<-"MiddleAged"rankAge[age<50]<-"Young"})四、数据排序1.函数sort(),基本格式:sort(x,decreasin