データフレーム内の一部のデータを特定の文字列で分割して頻度を数えたいとします。stringiとrbindを使用してlapplyを使用する
いくつかの方法で悩んだ後、私は方法を考え出しましたが、結果にはわずかな誤差があります。
例:
データフレームのデータファイル:
data
abc hello
hello
aaa
zxy
xyz
一覧:
list
abc
bcd
efg
aaa
私のコード:この例では
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)
})
私はCSV Fiが期待されますル以下の結果を得:
words Count
abc 1
aaa 1
しかし、私のコードで私が得た:
words Count
aaa 1
私はstri_extract
は私がrbind
を使用するときに、おそらくエラーが発生abc hello
内abc
を識別する必要があります知っていますか?
参照: 'stringi :: stri_list2matrix' – gagolews