我有两个数据框。
第一个描述了一组住户:
#df1
street house etc
1 1 ...
1 2 ...
2 1 ...
2 2 ...
2 3 ...
3 1 ...
第二个描述住在这些房子里的人
#df2
street house person etc
1 1 1 ...
1 1 2 ...
1 2 1 ...
1 2 2 ...
1 2 3 ...
3 1 1 ...
我想在df1中添加一个名为“member_count”的新列,并使用df2中与“street”和“house”匹配的行数填充此列。使用基础R实现此目的的最可读方式是什么?
答案 0 :(得分:1)
在基础R中,也许最简单的方法是
df1$membercount <- mapply(function(s,h) nrow(df2[df2$street==s & df2$house==h,]),
df1$street,df1$house)
df1
street house membercount
1 1 1 2
2 1 2 3
3 2 1 0
4 2 2 0
5 2 3 0
6 3 1 1
答案 1 :(得分:1)
{{1}}