J'ai une liste imbriquée qui contient des noms de pays. Je veux compter la fréquence des pays, où +1 est ajouté à chaque mention dans une sous-liste (quelle que soit la fréquence à laquelle le pays est mentionné dans cette sous-liste).
Par exemple, si j'ai cette liste:
[[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"
... alors j'aimerais que le résultat soit comme ceci:
country freq
====================
Austria 5
Sweden 2
Japan 1
J'ai essayé de diverses manières avec lapply
, unlist
, table
, etc. , mais rien n'a fonctionné comme je aurais besoin. J'apprécierais votre aide!
Une façon avec lapply()
, unlist()
et 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
Données reproductibles (veuillez vous fournir la prochaine fois):
lst <- list(
c('Austria', 'Austria', 'Austria'),
c("Austria", "Sweden"),
c("Austria", "Austria", "Sweden", "Sweden", "Sweden", "Sweden"),
c("Austria", "Austria", "Austria"),
c("Austria", "Japan")
)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras