数据追加
a<-c()
a[1]<-'sf'
#往allrate里追加添加一列,列名为actdays
allrate <- data.frame(allrate,actdays=rate)
数据合并
- cbind(),rbind()函数,一个列合并,一个行合并
- 当列的个数不一致时,行合并时则用plyr包中的rbind.fill函数,缺失以NA填充
a<-data.frame(age=c(12,23))
b<-data.frame(age=c(23,34),sex=c('F','T'))
library(plyr)
rbind.fill(a,b)
数据连接
merge函数,还有dplyr包中的inner_join()、full_join()、left_join()、right_join()、可以实现,分别对应内连接、外连接、左连接、右连接
#a,b两个表按“用户”列作为关键字连接
a <- merge(a,b,by="用户",all=FALSE)#内连接,两个表实现与的操作
a <- merge(a,b,by="用户",all=TRUE)#内连接,两个表实现并的操作,空位处插入NA
a <- merge(a,b,by="用户",all.x=TRUE)#左连接
a <- merge(a,b,by="用户",all.y=TRUE)#右连接
a <- merge(a,b,by.x="用户",by.y="id")#当选择的列在两个表里名字不同时
求表差集
目标:A是一个表,B是另一个表,求A-B,也就是A有B没有的数据
这里的A表为data,B表为all,根据uid字段求差集,输出的差集为c表
c<-setdiff(data$uid,all$uid)
c<-data[which(data$uid %in% c),]