计算向量在另一个向量中的出现次数
Count occurence of vector in another vector
tweet<- c("boy","girl","boy","x")
unique_words<- c("asdfdd","boy","girl","ahmed","asdf","asfeertrt")
word_count<-table(tweet[tweet %in%unique_words])
word_occurence<- as.integer(unique_words%in% tweet)
我得到了这些输出:
word_count::
boy girl
2 1
word_occurence::
0 1 1 0 0 0
但我希望输出如下所示:
0 2 1 0 0 0
您可以执行以下操作:
library(stringr)
rowSums(sapply(tweet, function(x, y) str_count(x, y), unique_words))
[1] 0 2 1 0 0 0
该命令循环遍历 tweet
向量,计算每次出现的次数(str_count()
;stringr
包),然后使用 rowSums 对数据求和。
我们可以使用ifelse
ifelse(unique_words%in% tweet, word_count, 0)
#[1] 0 1 2 0 0 0
tweet<- c("boy","girl","boy","x")
unique_words<- c("asdfdd","boy","girl","ahmed","asdf","asfeertrt")
word_count<-table(tweet[tweet %in%unique_words])
word_occurence<- as.integer(unique_words%in% tweet)
我得到了这些输出: word_count::
boy girl
2 1
word_occurence::
0 1 1 0 0 0
但我希望输出如下所示: 0 2 1 0 0 0
您可以执行以下操作:
library(stringr)
rowSums(sapply(tweet, function(x, y) str_count(x, y), unique_words))
[1] 0 2 1 0 0 0
该命令循环遍历 tweet
向量,计算每次出现的次数(str_count()
;stringr
包),然后使用 rowSums 对数据求和。
我们可以使用ifelse
ifelse(unique_words%in% tweet, word_count, 0)
#[1] 0 1 2 0 0 0