我具有与以下玩具示例类似的列表。
dpy(head(lst)):
list(GAME1 = structure(list(Class = structure(c(2L, 1L, 5L, 4L,
3L), .Label = c("fighter", "paladin", "rouge", "sorcerer", "wizard"
), class = "factor"), Score = c(6, 7, 6, 7, 7)), class = "data.frame", row.names = c(NA,
-5L)), GAME2 = structure(list(Class = structure(c(2L, 4L, 1L,
3L), .Label = c("cleric", "fighter", "monk", "wizard"), class = "factor"),
Score = c(5, 5, 5, 5)), class = "data.frame", row.names = c(NA,
-4L)))
我将如何提取列表列表中X个数据帧中的字符串。例如。如果我想知道在每个数据帧的第一列中,列表中两次出现了多少个字符串。我的结果将是“战士”。
不仅如此,我还希望获得战斗机在其参加的所有游戏中的总得分的总和。
所以我从这种方法得到的结果是:
Class | Score
fighter | 11
并且最好在一个新的数据帧中。
注意。我的实际数据非常大,总共包含10个列表。我需要一种允许我更改分析中使用的列表数量的方法,即从7个列表中的X列中查找所有常见字符串,或从4个列表中的X列中查找所有常见字符串。
非常感谢,感谢您的帮助。
答案 0 :(得分:2)
library(dplyr)
bind_rows(lst, .id = "game") %>%
group_by(Class) %>%
summarize(occurance = n(),
total_score = sum(Score)) %>%
filter(occurance > 1)
结果:
# A tibble: 2 x 3
Class occurance total_score
<chr> <int> <dbl>
1 fighter 2 12
2 wizard 2 11