我想在dfs列表中汇总来自同一国家/地区的所有值(df-wise!)。下面是一些示例数据:

df1 <- data.frame(CNTRY = c("A", "B", "C"), Value=c(3,1,4))
df2 <- data.frame(CNTRY = c("A", "B", "C", "C"),Value=c(3,5,8,7))
dfList <- list(df1, df2)
names(dfList) <- c("111.2000", "112.2000")

我的列表由行号不同的dfs(仅dfs)组成,
但所有df的栏结构相同。列表名称是articleID和Year的混合,超过1000 dfs。
现在我的问题是:如何总结或汇总所有dfs中的国家/地区值?
我的预期结果是:
$`111.2000`
  CNTRY Value
1     A     3
2     B     1
3     C     4

$`112.2000`
  CNTRY Value
1     A     3
2     B     5
3     C    15

我尝试使用aggregate(Value ~ CNTRY, data=dfList,FUN=sum)来传递错误消息,因为o​​jit_code和CNTRY不是对象,而是对象内的列。有任何想法吗?提前致谢。

最佳答案

使用lapply()aggregate()上应用dfList函数。

lapply(dfList, function(x) aggregate(Value ~ CNTRY, x, sum))
# $`111.2000`
#   CNTRY Value
# 1     A     3
# 2     B     1
# 3     C     4
#
# $`112.2000`
#   CNTRY Value
# 1     A     3
# 2     B     5
# 3     C    15

09-13 05:53