我正在创建一个表格,我有一个共同的日期,但每次迭代都会添加一列。 出来的表应该是
date col1 col2 col3 col4
2016-01-01 1 2 3 4
2016-01-02 11 22 33 44
我得到的信息分为4部分
INPUT1
date col1 col2
2016-01-01 1 2
输入2
date col1 col2
2016-01-02 11 22
输入3
date col3 col4
2016-01-01 3 4
INPUT4
date col1 col2
2016-01-02 33 44
这是我写的代码,但它没有达到预期的结果 而是仅合并第一行,而第二行在合并的单元格中具有NA。 注意:我将结束的列数未知。这只是每次添加2列的示例。
res=data.frame()
r1= c("2016-01-01",1,2)
names(r1)=c("date","col1","col2")
res=rbind(r1)
#print(res)
r1= c("2016-02-01",11,22)
names(r1)=c("date","col1","col2")
r1_df=data.frame(as.list(r1))
res=merge(res,r1_df,all=T)
r1= c("2016-01-01",3,4)
names(r1)=c("date","col3","col4")
r1_df=data.frame(as.list(r1))
res=merge(res,r1_df,all=T)
r1= c("2016-02-01",33,44)
names(r1)=c("date","col3","col4")
r1_df=data.frame(as.list(r1))
res=merge(res,r1_df,all=T)
print(res)
date col3 col4 col1 col2
1 2016-01-01 3 4 1 2
2 2016-02-01 33 44 <NA> <NA>
3 2016-02-01 <NA> <NA> 11 22
由于
答案 0 :(得分:0)
input1 <- data.frame(date=c("2016-01-01"),col1=1,col2=2,stringsAsFactors = F)
input2 <- data.frame(date=c("2016-01-02"),col1=11,col2=22,stringsAsFactors = F)
input3 <- data.frame(date=c("2016-01-01"),col3=3,col4=4,stringsAsFactors = F)
input4 <- data.frame(date=c("2016-01-02"),col3=33,col4=44,stringsAsFactors = F)
input <-merge(input1,input2,all.x = T,all.y = T)
input0<-merge(input3,input4,all.x = T,all.y = T)
input123 <- merge(input,input0,all.x=T)
print(input123)
date col1 col2 col3 col4
1 2016-01-01 1 2 3 4
2 2016-01-02 11 22 33 44