【问题标题】:How to merge dating correctly如何正确合并约会
【发布时间】:2015-01-13 05:11:31
【问题描述】:

我正在尝试将 7 个完整的数据框合并为一个宽大的数据框。我想我必须逐步执行此操作,并将 2 个帧合并为 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)

所有以_2005结尾的变量,如果保存到fil_2006.1,但以_2006结尾的变量不保存。

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

【问题讨论】:

    标签: r dataset combinations aggregation


    【解决方案1】:

    您在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
    

    【讨论】:

    • 是的,__ 的原因是我想保留最后包含 __ 的每个 ID。新 ID 为“ID__”。该文件非常大并且有很多 ID,因此我只是想在最终合并的文件中保留包含“ID__”的那些。我也有很多变量名。两个文件中变量名称的唯一区别是年份(2005 年或 2006 年)。现在,当我尝试我的代码时,每个 ID 都在合并的数据框中,但不知何故,2006 年的变量都得到了 NA。感谢您花时间回答!
    • 奇怪,我认为我实际上通过简单地删除 all.x=T 来解决它。不明白为什么它会起作用。
    猜你喜欢
    • 2020-06-19
    • 2018-12-05
    • 2014-03-10
    • 2021-12-30
    • 2015-12-06
    • 2015-11-29
    • 2022-01-18
    相关资源
    最近更新 更多