【发布时间】:2019-09-15 16:45:53
【问题描述】:
我正在尝试总结数据框列表。这是一些测试数据
noms <- list('A', 'B')
A_data <- data.frame('Dis' = c(1, 1, 2, 2),
'adj' = c(3, 2, 6, 7))
B_data <- data.frame('Dis' = c(1, 1, 2, 2),
'adj' = c(2, 6, 3, 6))
frames <- list(A_data, B_data)
我想生成一个数据框列表,其中为每个“Dis”组求和“adj”,然后为“noms”中的相关名称添加一列,这样我就可以将数据框组合在一起形成一个未来的单一数据框。
到目前为止,我有这个:
totals <- setNames(lapply(frames, function (x)
x %>%
dplyr::group_by(Dis) %>%
dplyr::summarise(total = sum(adj)))
,paste0(unlist(noms)))
但我可以弄清楚如何添加具有相关名称的列。我知道我需要像这样使用mutate 函数:
totals <- setNames(lapply(frames, function (x)
x %>%
dplyr::group_by(Dis) %>%
dplyr::summarise(total = sum(adj)) %>%
dplyr::mutate(nom = )
,paste0(unlist(noms)))
但我不知道如何添加正确的名称。
预期的输出将是两个数据帧的列表,一个用于“A”,一个用于“B”。这是“A”的预期输出:
Dis total Nom
1 1 5 A
2 2 13 A
我该怎么做?
【问题讨论】: