"splitstackshape"の "cSplit_e"を使用して、1つの列の複数の値をバイナリ値の列に分割することができます。私はtf-idfを計算するためにテキストの問題を扱っていますが、列の下ですべての一意の値を持つことは必ずしも必要ではありません。例えば、複数の値を考慮したcSplit_e関数の変更
docname ftype doc_text
1 mw hello, hi, how, are, you, hello
2 gw hi,yo,man
3 mw woha,yo, yoman
DPUT(DF)上記例えば
structure(list(docname = 1:3, ftype = c("mw", "gw", "mw"), doc_text = structure(1:3, .Label = c("hello, hi, how, are, you, hello",
"hi,yo,man", "woha,yo, yoman"), class = "factor")), .Names = c("docname",
"ftype", "doc_text"), class = "data.frame", row.names = c(NA,
-3L))
我々はDOC-1を考慮すればとき」、次いでcSplit_eが "1" の値を有する5つの別々の列にdoc_text変換します「こんにちは」が2回現れた。反復値を考慮に入れてこの関数を変更する方法はありますか?本質的には
、ここで私が達成しようとしているものです:データフレームを考える
あなたは、どのように、DOCNAME FTYPE doc_text 1 MWこんにちは、こんにちは、こんにちは 2 GWよ、やあ、男 3 me woha、yo、yoman
"、"で区切られた列の値に基づいてdoc_textを複数の列に変換し、それぞれの頻度を取得したいとします。だから、結果は、誰かがこの使用「splitstackshape」または別の方法でを達成する方法を知っているならば、私は感謝します
docname ftype are hello hi how man woha yo yoman you
1 mw 1 2 1 1 0 0 0 0 1
2 gw 0 0 1 0 1 0 1 0 0
3 mw 0 0 0 0 0 1 1 1 0
でなければなりません。最終的な目的はtf-idfを計算することです。
ありがとうございました。
おかげで@akrunとフランク。 – syebill