使用for循环计算发生次数

使用for循环计算发生次数,r,R,我现在有两个向量,unique和words。它们都是只包含单词的向量。两者都由一列和许多只包含一个单词的行组成。”“单词”包含重复项,而“唯一”不包含重复项 因此,这两个向量如下所示: 1 hello 2 monkey 3 start 4 music ... 我想做的基本上是循环遍历“unique”向量,并计算每个单词在“words”向量中出现的次数 目前我有这段代码 for (i in unique) {print(sum(words$words == i))} 然而,当我运行这一行时,它

我现在有两个向量,unique和words。它们都是只包含单词的向量。两者都由一列和许多只包含一个单词的行组成。”“单词”包含重复项,而“唯一”不包含重复项

因此,这两个向量如下所示:

1 hello
2 monkey
3 start
4 music
...
我想做的基本上是循环遍历“unique”向量,并计算每个单词在“words”向量中出现的次数

目前我有这段代码

for (i in unique) {print(sum(words$words == i))}
然而,当我运行这一行时,它只会给我一条错误消息

我如何解决这个问题?我似乎无法解决这个问题


任何帮助都将不胜感激

您没有提供足够的信息,我们无法调试您编写的代码,但以下内容应该可以帮助您:

# Create the word list
words <- c('aardvark', 'bonobo', 'aardvark', 'cougar', 'bonobo', 'aardvark', 'dingo', 'cougar', 'bonobo', 'aardvark')

# add one extra word to our unique word list
# Note that 'unique' is already a function in R, so I'm not using it as a name
uniq <- c(unique(words), 'elephant')

# Using a for loop
for (i in uniq) {
    cat('Count of ', i, ': ', sum(words == i), '\n', sep='')
}

> Count of aardvark: 4
> Count of bonobo: 3
> Count of cougar: 2
> Count of dingo: 1
> Count of elephant: 0

# Without a loop
table(factor(words, levels=uniq))
> aardvark   bonobo   cougar    dingo elephant 
>   4        3        2        1        0 
#创建单词列表

words有一个内置的
table()
函数。请尝试
table(words$words)
as.data.frame(table(words$words))
,具体取决于您希望输出的格式。我认为我没有正确说明问题。“唯一”向量可能包含“单词”向量中不存在的单词。这就是为什么我尝试循环遍历“unique”向量,并计算“words”向量中每个单词的出现次数之和。错误消息是怎么说的?然后,您只需首先调用factor(),并使用所需的级别=计数。