使用for循环计算出现次数

时间:2017-05-03 23:43:55

标签: r

我目前有两个向量,唯一和单词。它们都是仅包含单词的向量。两者都包含一列和很多行只包含一个单词。 '词'包含重复项,而“唯一”#39;没有。

这两个载体都是这样的:

1 hello
2 monkey
3 start
4 music
...

我想要做的事情基本上是通过“独特”来实现。向量并计算每个单词在'单词中出现的次数。矢量。

目前我有这段代码

for (i in unique) {print(sum(words$words == i))}

但是,当我运行此行时,它只是给我一个错误消息。

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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

# 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$words将无效。