2 votes

Compter les occurrences d'un vecteur dans un autre vecteur

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)

J'ai obtenu ces sorties : word_count : :

          boy girl 
           2    1

mot_occurence : :

           0 1 1 0 0 0

mais je voudrais que le résultat soit le suivant : 0 2 1 0 0 0

5voto

Jimbou Points 9036

Vous pouvez faire ce qui suit :

library(stringr)
rowSums(sapply(tweet, function(x, y) str_count(x, y), unique_words))
[1] 0 2 1 0 0 0

La commande boucle sur les tweet compte chaque occurrence ( str_count() ; stringr ), puis additionne les données à l'aide de rowSums.

3voto

akrun Points 148302

Nous pouvons utiliser ifelse

ifelse(unique_words%in% tweet, word_count, 0)
#[1] 0 1 2 0 0 0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X