如何在R中实现这个结果
Windows 7 上的 R 版本 2.11.1 32 位
我有两个数据集,如下所示:
data_set_A:
USER_B ACTION
10 0.1
11 0.3
12 0.1
data_set_B:
USER_A USER_B ACTION
1 10 0.2
1 11 0.1
1 15 0.1
2 12 0.2
如何从 data_set_A 添加
到 USER_B
的 ACTION
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
,只需要考虑USER_B
出现在中>数据集_A
。
请问不一一做是否可以实现呢?
R Version 2.11.1 32-bit on Windows 7
I have two data sets as shown below:
data_set_A:
USER_B ACTION
10 0.1
11 0.3
12 0.1
data_set_B:
USER_A USER_B ACTION
1 10 0.2
1 11 0.1
1 15 0.1
2 12 0.2
How to add the ACTION
of USER_B
from data_set_A
to data_set_B
? The USER_B
in data_set_A
is a subset of USER_B
in data_set_B
.
for the example above, it may be:
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
In data_set_B
I don't need to consider the USER_A
, just consider the USER_B
appear in data_set_A
.
I wonder if it could be achieved without doing one by one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种方法是对两个数据集进行相当于数据库合并的操作,以形成所需的操作对,然后将它们相加。使用@Andrie的示例代码:
解决方案代码
我将首先呈现完整的解决方案,然后解释步骤:
res
现在包含结果。解释:
我们首先合并两个数据框,匹配
user_b
:给出:
然后我们使用该对象创建结果数据框,并对两个
action.
列进行求和。 -明智的:导致
One way is to do the equivalent of a database merge on the two data sets to form the action pairs you want and then sum those. Using @Andrie's example code:
Solution Code
I'll first present the full solution and then explain the steps:
res
now contains the results.Explanation
We first merge the two data frames, matching on
user_b
:giving:
Then we just use this object to create the result data frame, and sum the two
action.
columns row-wise:resulting in