R数据集的基本操作:增加变量、删除变量、变量重命名、缺失值处理、数据框合并、数据排序
增加变量
mydata1<-data.frame(x1=c(1,2,4,3),
x2=c(3,4,1,5))
mydata1$sum<-mydata1$x1+mydata1$x2 #直接增加变量sum
mydata1$mean<-(mydata1$x1+mydata1$x2)/2#直接增加变量mean
mydata1
mydata1<-transform(mydata1,sum1=x1+x2,
mean1=(x1+x2)/2)#直接增加变量mean1和sum1
mydata1
变量删除
mydata1$mean<-NULL
mydata1
变量重新命名
df<-mydata1
fix(df) #调用编辑器重新命名
names(df)
names(df)[1:3]<-c('a1','b1','c1') #将df数据框的前三个字段名称变为abc
df
缺失值处理
x <- c(1:3, 5,7, NA, 9)
sum(x) # 结果为 NA
sum( x, na.rm = T ) # 结果为 27,na.rm = T表示忽略缺失值
数据的排序
df[order(-df$a1),] #按照a1从大到小进行排列,前面加-则表示从大到小
df[order(df$a1),] #按照a1从小到大进行排列
#利用第三方包进行排序
library(plyr)
arrange(df,b1) #同样不加负号则是从小到大,加了则是从大到小
df <- data.frame (id = 1:4,
weight = c(20, 27, 24, 22),
size = c("small", "large", "medium", "large"))
arrange(df,size,weight) #第二项weight是在size相同的时候进行的排序,相当于第二顺序
arrange(df,size,-weight) #第二项weight是在size相同的时候进行的排序,相当于第二顺序
df[order(df$size,df$weight),]
数据集的合并
df1<-data.frame(name=c('小明','小王','xiaohua'),article=c(100,50,75))
df2<-data.frame(name=c('小明','小王','xiaohua'),math=c(70,50,85))
#列合并,要求具有共同的列名称
total<-merge.data.frame(df1,df2,by='name') #根据共同的字段name来进行合并
#行合并,要求列的名称保持一致
dfA <- data.frame( Subject = c(1, 1, 2, 2), Response = c("X", "X", "X", "X") )
dfB <- data.frame( Subject = c(1, 2, 3), Response = c("Z", "Y", "Z") )
df <- rbind(dfA, dfB)
网友评论