anp*_*ami 6 r list frequency nested-lists
我有一个包含国家/地区名称的嵌套列表。我想计算国家/地区的频率,即在子列表中每次提及时都会添加 +1(无论该国家/地区在该子列表中的提及频率如何)。
例如,如果我有这个列表:
[[1]]
[1] "Austria" "Austria" "Austria"
[[2]]
[1] "Austria" "Sweden"
[[3]]
[1] "Austria" "Austria" "Sweden" "Sweden" "Sweden" "Sweden"
[[4]]
[1] "Austria" "Austria" "Austria"
[[5]]
[1] "Austria" "Japan"
Run Code Online (Sandbox Code Playgroud)
...然后我希望结果是这样的:
country freq
====================
Austria 5
Sweden 2
Japan 1
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种方法来使用lapply、unlist、table等,但没有任何方法可以满足我的需要。我将不胜感激您的帮助!
一种方法有lapply(),unlist()和table():
count <- table(unlist(lapply(lst, unique)))
count
# Austria Japan Sweden
# 5 1 2
as.data.frame(count)
# Var1 Freq
# 1 Austria 5
# 2 Japan 1
# 3 Sweden 2
Run Code Online (Sandbox Code Playgroud)
可重现数据(请下次提供):
lst <- list(
c('Austria', 'Austria', 'Austria'),
c("Austria", "Sweden"),
c("Austria", "Austria", "Sweden", "Sweden", "Sweden", "Sweden"),
c("Austria", "Austria", "Austria"),
c("Austria", "Japan")
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |