J'ai une liste de mots-clés:Nombre 1 ère instance de mot-clé dans la liste sans compte en double dans R
library(stringr)
words <- as.character(c("decomposed", "no diagnosis","decomposition","autolysed","maggots", "poor body", "poor","not suitable", "not possible"))
Je veux faire correspondre ces mots-clés au texte dans une colonne de trame de données (df $ text) et le nombre le nombre de fois qu'un mot-clé se produit dans un autre data.frame (matchdf):
matchdf<- data.frame(Keywords=words)
m_match<-sapply(1:length(words), function(x) sum(str_count(tolower(df$text),words[[x]])))
matchdf$matchs<-m_match
Cependant, je l'ai remarqué que cette méthode compte chaque occurrence d'un mot-clé dans une colonne. par exemple)
"The sample was too decomposed to perform an analysis. The decomposed sample indicated that this animal was dead for a long time"
retournerait alors un compte de 2. Cependant, je veux seulement compter la première instance de « décomposée » dans un champ.
Je pensais qu'il y aurait un moyen de ne compter que la première instance en utilisant str_count
mais il ne semble pas en être un.
Vous ne voulez pas 'str_detect' alors ? – CPak