转载经管之家的

==我在merge后面加了all=TRUE,保留原始全部数据

#函数
#我在merge后面加了all=TRUE,保留原始全部数据
multimerge<-function(dat=list(),...){
  if(length(dat)<2)return(as.data.frame(dat))
  mergedat<-dat[[1]]
  dat[[1]]<-NULL
  for(i in dat){
    mergedat<-merge(all=TRUE,mergedat,i,...)
  }
  return(mergedat)
}
#实例
dat1<-data.frame(x=1:5,y=letters[1:5]);dat1
dat2<-data.frame(x=4:7,y=letters[1:4],z=rep(1:4,1));dat2
dat3<-data.frame(x=1:10,w=rnorm(10));dat3

multimerge(list(dat1,dat2,dat3))  #重复的数据那一个变量会重复一行
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐