【发布时间】:2020-03-07 15:50:34
【问题描述】:
我有一个包含多个数据框的列表。我想按类别 (A) 对数据进行排序,并使用 lapply-command 对频率 (B) 求和。
数据为df_list
df_list
$`df.1`
A B
1 Apples 2
2 Pears 5
3 Apples 6
4 Pears 1
5 Apples 3
$`df.2`
A B
1 Oranges 2
2 Pineapples 5
3 Oranges 6
4 Pineapples 1
5 Oranges 3
预期的结果 df_list_2 如下所示:
df_list_2
$`df.1`
A B
1 Apples 11
2 Pears 6
$`df.2`
A B
1 Oranges 11
2 Pineapples 6
我基于 lapply 尝试了以下代码:
df_list_2<-df_list[, lapply(B, sum), by = A]
但是,我收到一个错误代码,提示找不到 A。
要么我弄错了 lapply 命令在这种情况下的工作方式,要么我对它应该如何工作的理解有缺陷。 非常感谢任何帮助。
【问题讨论】:
-
看起来您已经从代码中的 data.table 中提取了一些详细信息,但在这里没有引用它。您所做的只是 data.table 解决方案的一半,所以如果这是您所追求的,您需要指定。
标签: r list dataframe group-by lapply