京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言-基本数据管理合作
在开始数据分析之前,我们有必要按照自身对数据的需求,对数据管理。数据管理是数据分析工作的前提,只有保障数据合理、可靠、有效的获取,才能使得后续对数据的处理工作顺利开展。以下我们简单介绍一下,两种常见的数据管理方法:变量新建与重新编码,数据集的排序与合并。
1. 创建新变量
可以通过以下形式的语句,创建新变量。
变量名<-表达式
myddata<-data.frame(x1=c(2,2,6,4),x2=c(3,4,2,8))
mydata$sumx<-mydata$x1+mydata$x2
mydata$mean<-(mydata$x1+mydata$x2)/2
2. 变量的重新编码
将leadership中年龄55-75岁之间的定义为“中年人”,大于75岁的定义为“老年人”,小于55岁定义为“青年”。
leadership<-within(leadership,{
agecat<-NA
agecat[age>75]<-"Elder"
agecat[age>=55 & age <=75]<-"Middle Aged"
agecat[age<55]<-"Young"
})
3. 变量的重命名
将leadership中第6-10列的变量名称分别重命名为item1-5.
names(leadership)[6:10]<-c("item1","item2","item3","item4","item5")
也可以通过以下形式的语句,进行重命名。
rename(dataframe,c(oldname=“newname”,oldname=“newname”,..))
4. 数据排序
将leadership各行按照女性到男性,同样性别按照年龄降序排序。
attach(leadership)
newdata<-leadership[order(gender,-age),]
dettach(leadership)
5. 数据集的合并
5.1 横向合并
多数情况下,我们需要对两个数据框进行合并,具体通过一个或者多个共有变量进行联结(即一种内联结),以下为形式语句:
total1<-merge (dataframeA,dataframeB,by="ID")
譬如:我们将学生成绩表与学校基本信息表进行合并,可以编写如下语句。
total<-merge (Studentgrade,Student,by="name")
5.2 纵向合并
此外,我们有时需要对数据纵向合并,增加样本观测值。
total2<-rbind (dataframeA,dataframeB)
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi