如何自动计算列表中不同字符串的出现次数
How to automatically count the occurrence of different strings in a list
我有一个包含约 1000 个条目的列表,其结构如下(小示例):
example <- list(
"1" =c("car","house"),
"2" = c("family","work","car"),
"3" = c("house","Work","car"),
"4" = "school",
"5" = c("Car","school"))
列表中的大多数条目仅包含 1 个字符串。有些包含 2、3、4、5 甚至更多字符串。
我不知道字符串的最大值,因为我不知道如何在不滚动所有 ~1000 行数据的情况下获取此信息。
我想获得列表中字符串的摘要。我想知道:
- 有多少个不同的字符串(例如小例子中的 5 个)
- 不同字符串出现的频率(例如 family:1、work:2、.... 在小示例中)。我想稍后在情节中将其可视化。
- 我不希望分析不区分大小写(例如 family 和 Family 应该被同等对待)
- 我想排除重复项(例如,如果一个条目包含 c("family","car","family"),则 family 应该只计算 1 次)
all_strings <- tolower(unlist(example, use.names = FALSE))
#How many different string
length(unique(all_strings))
#[1] 5
#How often the different strings occur
all_string_listwise <- tolower(unlist(lapply(example, unique)))
table(all_string_listwise)
#all_string_listwise
# car family house school work
# 4 1 2 2 2
我有一个包含约 1000 个条目的列表,其结构如下(小示例):
example <- list(
"1" =c("car","house"),
"2" = c("family","work","car"),
"3" = c("house","Work","car"),
"4" = "school",
"5" = c("Car","school"))
列表中的大多数条目仅包含 1 个字符串。有些包含 2、3、4、5 甚至更多字符串。 我不知道字符串的最大值,因为我不知道如何在不滚动所有 ~1000 行数据的情况下获取此信息。
我想获得列表中字符串的摘要。我想知道:
- 有多少个不同的字符串(例如小例子中的 5 个)
- 不同字符串出现的频率(例如 family:1、work:2、.... 在小示例中)。我想稍后在情节中将其可视化。
- 我不希望分析不区分大小写(例如 family 和 Family 应该被同等对待)
- 我想排除重复项(例如,如果一个条目包含 c("family","car","family"),则 family 应该只计算 1 次)
all_strings <- tolower(unlist(example, use.names = FALSE))
#How many different string
length(unique(all_strings))
#[1] 5
#How often the different strings occur
all_string_listwise <- tolower(unlist(lapply(example, unique)))
table(all_string_listwise)
#all_string_listwise
# car family house school work
# 4 1 2 2 2