【发布时间】:2020-04-10 16:20:49
【问题描述】:
我有 2 个要合并的数据框。在df1observation 中记录了 2 个不同的日期。每条记录都有一个索引,id1 个人识别号,id2 指的是录制的日期(天必须不同)。还有一个 Day 变量记录录制的星期几。
在df2 中仅根据序列号和 id1 个人识别号记录观察结果。每人只有一次观察。同样,这里还有一个 Day 变量,用于记录录制的时间。
我想确定 df2 中与 df1 同一天记录的观察结果。
我该怎么做?
样本数据
df1:
structure(list(index = c(11011202, 11011202, 11011202, 11011202,
11011203, 11011203, 11011207, 11011207, 11011207, 11011207, 11011209,
11011209, 11011209, 11011209, 11011210, 11011210, 11011210, 11011210,
11011211, 11011211, 11011211, 11011211, 11011212, 11011212, 11011212,
11011212, 11011212, 11011212, 11011212, 11011212, 11011213, 11011213,
11011213, 11011213, 11011213, 11011213, 11011217, 11011217, 11011219,
11011219, 11011220, 11011220, 11011220, 11011220, 11011220, 11011220,
11020202, 11020202, 11020202, 11020202), id1 = c(1, 1, 4, 4,
1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2,
2, 3, 3, 4, 4, 1, 1, 3, 3, 4, 4, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3,
1, 1, 2, 2), id2 = c(1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2), Day = c(5, 1, 5,
1, 1, 3, 4, 7, 4, 7, 4, 1, 4, 1, 5, 7, 5, 7, 1, 2, 1, 2, 7, 2,
7, 2, 7, 2, 7, 2, 7, 4, 7, 4, 7, 4, 4, 1, 3, 1, 1, 2, 1, 2, 1,
2, 4, 7, 4, 7)), row.names = c(NA, -50L), class = c("tbl_df",
"tbl", "data.frame"))
df2:
structure(list(Day = c(3, 3, 4, 6, 6, 6, 7, 7, 7, 7, 4, 4, 6,
6, 6, 4, 3, 7, 7, 5, 5, 7, 5, 6, 6), index = c(11011209, 11011209,
11011210, 11011212, 11011212, 11011213, 11011213, 11011220, 11011220,
11020208, 11020212, 11020212, 11020301, 11020301, 11020301, 11020305,
11020310, 11020315, 11020315, 11020316, 11020316, 11020320, 11020606,
11020611, 11020611), id1 = c(1, 2, 2, 1, 2, 1, 4, 1, 2, 2, 1,
2, 1, 2, 3, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2)), row.names = c(NA,
-25L), class = c("tbl_df", "tbl", "data.frame"))
【问题讨论】:
-
您好,您所有的“结果”都在
df1中。这是合并问题还是子集问题?你能澄清一下吗? -
@Ian Campbell 我尝试合并 2 个数据框。我想确定 df2 中记录在 df1 中的观察结果。观察结果之间的区别在于,在具有相同索引的 df1 和 id1 2 中进行了不同的观察,但日期不同。非常感谢
-
我根据您更新的问题编辑了我的答案。