如何计算列表 r 中出现的次数

ste*_*anR 1 string r list count

我有一个包含字符串的列表“list1”。我想创建一个包含两列的表:左列是字符串本身,右列是该字符串在列表中出现的次数。重要的是没有重复的行,也就是说,如果“ABCD”在列表中出现 3 次,我只想要一行具有值“ABCD”和“3”,而不是 3 个这样的行。我怎样才能做到这一点 ?

谢谢

r2e*_*ans 7

如果你的向量是这样的

vec <- c("aaa","aaa","aab")
Run Code Online (Sandbox Code Playgroud)

然后table它本身就会给你计数(用字符串作为返回的名称):

table(vec)
# vec
# aaa aab 
#   2   1 
Run Code Online (Sandbox Code Playgroud)

当我们将其传递给 时as.data.frame,该函数将获取名称并创建一列,然后获取值并创建一个新列。

as.data.frame(table(vec))
#   vec Freq
# 1 aaa    2
# 2 aab    1
Run Code Online (Sandbox Code Playgroud)

如果您的意思确实是 a list,那么:

list1 <- as.list(vec)
list1
# [[1]]
# [1] "aaa"
# [[2]]
# [1] "aaa"
# [[3]]
# [1] "aab"
as.data.frame(table(unlist(list1)))
#   Var1 Freq
# 1  aaa    2
# 2  aab    1
Run Code Online (Sandbox Code Playgroud)