我试图将7个完整的数据帧合并为一个很宽的数据帧。我想我必须逐步地将这两个帧合并为1,然后将该帧合并为另一个,直到所有7个原始帧变为一个。
fil2005: "ID" "abr_2005" "lop_2005" "ins_2005"
fil2006: "ID" "abr_2006" "lop_2006" "ins_2006"
但变量" abr_2006" " lop_2006" " ins_2006"和2005都是0,1。
现在的情况是,我想要合并或进行某种类型的dcast(我认为)将这两个长数据帧组合成一个宽数据帧都是" abr_2005" " lop_2005" " ins_2005"和abr_2006" " lop_2006" " ins_2006"在最后的档案中。
当我尝试
时$fil_2006.1 <- merge(x=fil_2005, y=fil_2006, by="ID__", all.y=T)
如果保存到fil_2006.1,则结尾的所有变量_2005,但是_2006结尾的变量不会。
我显然做错了什么。有什么想法吗?
答案 0 :(得分:0)
是否有理由在ID__
之后放置这些下划线?否则,您提供的代码将起作用
一个例子:
dat1 <- data.frame("ID"=seq(1,20,by=2),"varx2005"=1:10, "vary2005"=2:11)
dat2 <- data.frame("ID"=5:14,"varx2006"=1:20, "vary2006"=21:40)
# create data frames of differing lengths
head(dat1)
ID varx2005 vary2005
1 1 1 2
2 3 2 3
3 5 3 4
4 7 4 5
5 9 5 6
6 11 6 7
head(dat2)
ID varx2006 vary2006
1 5 1 21
2 6 2 22
3 7 3 23
4 8 4 24
5 9 5 25
6 10 6 26
merged <- merge(dat1,dat2,by="ID",all=T)
head(merged)
ID varx2006 vary2006 varx2005 vary2005
1 1 NA NA 1 2
2 3 NA NA 2 3
3 5 1 21 3 4
4 5 11 31 3 4
5 7 13 33 4 5
6 7 3 23 4 5