Windows 7 上的 R 版本 2.11.1 32 位
我有两个数据集如下所示:
数据集A:
USER_B ACTION
10 0.1
11 0.3
12 0.1
数据集B:
USER_A USER_B ACTION
1 10 0.2
1 11 0.1
1 15 0.1
2 12 0.2
如何将USER_B
的ACTION
从data_set_A
添加到data_set_B
? data_set_A
中的 USER_B
是 data_set_B
中 USER_B
的子集。
对于上面的例子,可能是:
USER_A USER_B ACTION
1 10 0.2+0.1
1 11 0.1+0.3
1 15 0.1
2 12 0.2+0.1
在data_set_B
中我不需要考虑USER_A
,只考虑data_set_A
中出现的USER_B
.
不知道不一一做是不是可以实现?
最佳答案
dfa <- data.frame(
user_b = 10:12,
action = c(0.1, 0.3, 0.1)
)
dfb <- data.frame(
user_a = c(1, 1, 1, 2),
user_b = c(10, 11, 15, 12),
action = c(0.2, 0.1, 0.1, 0.2)
)
action <- dfa$action[match(dfb$user_b, dfa$user_b)]
action[is.na(action)] <- 0
dfb$action <- dfb$action + action
dfb
user_a user_b action
1 1 10 0.3
2 1 11 0.4
3 1 15 0.1
4 2 12 0.3
关于r - 如何在 R 中实现这个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5647612/