如何正确合并约会

时间:2014-11-15 22:49:48

标签: r dataset combinations aggregation

我试图将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结尾的变量不会。

我显然做错了什么。有什么想法吗?

1 个答案:

答案 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