R 使用2个数据帧进行计算
我有两个表,每个表有两列:R 使用2个数据帧进行计算,r,R,我有两个表,每个表有两列: ID Topic 123 A 124 B 125 A 126 C 以及: ID Freq 123 20 124 30 125 10 123 50 结果应该是每个主题的相关频率总和,如下所示: Topic Total A 80 B 30 C 0 如何使用R(使用RStudio)
ID Topic
123 A
124 B
125 A
126 C
以及:
ID Freq
123 20
124 30
125 10
123 50
结果应该是每个主题的相关频率总和,如下所示:
Topic Total
A 80
B 30
C 0
如何使用R(使用RStudio)实现这一点?同样,在基本R中,表格非常长~50k行:
df3 <- merge(df1,df2,all.x=TRUE)
df3[is.na(df3)] <- 0
aggregate(Freq ~ Topic,df3,sum)
# Topic Freq
# 1 A 80
# 2 B 30
# 3 C 0
df3tidyverse
library(dplyr)
df1 %>%
left_join(df2, by = "ID") %>%
group_by(Topic) %>%
summarize(Total = sum(Freq, na.rm = TRUE))
你试过什么?50k不再是一个大表,因为现在RAM要大得多。和@Sotos,您也可以查看
library(dplyr)
df1 %>%
left_join(df2, by = "ID") %>%
group_by(Topic) %>%
summarize(Total = sum(Freq, na.rm = TRUE))