Ich möchte einige Daten innerhalb eines Datenrahmens durch eine bestimmte Zeichenfolge aufgeteilt und die Häufigkeit zählen.R lapply mit stringi und rbind
Nachdem ich mit ein paar Methoden gespielt habe, habe ich eine Methode entwickelt, aber es gibt einen kleinen Fehler in meinen Ergebnissen.
Beispiel:
Datenrahmen Datendatei:
data
abc hello
hello
aaa
zxy
xyz
Liste:
list
abc
bcd
efg
aaa
Mein Code:
lapply(list$list, function(x){
t <- data.frame(words = stri_extract(df$data, coll=x))
t<- setDT(t)[, .(Count = .N), by = words]
t<-t[complete.cases(t$words)]
result<-rbind(result,t)
write.csv(result, "new.csv", row.names = F)
})
In diesem Beispiel würde ich eine CSV fi erwarten le mit den folgenden Ergebnissen:
words Count
abc 1
aaa 1
jedoch mit meinem Code ich habe:
words Count
aaa 1
Ich weiß stri_extract
identifizieren sollte abc
innerhalb abc hello
so vielleicht der Fehler passiert, wenn ich rbind
verwenden?
Siehe auch: 'stringi :: stri_list2matrix' – gagolews