2017-12-09 8 views
1

(編集済み)このRのものではかなり新しいですが、私は非常に面白いと感じます。このチュートリアルに従おうとしています。私がしようとしているのは、ストリップの空白、大文字と小文字の変換、ストップワードのフィルタリングのようなテキスト操作ですが、最初にそれを3列のデータフレームに読み込みたいと思っています。私は、このzipファイルにデータを読み込むしようとしています =ハムとスパムメッセージの.txtファイルをある.txtファイルを3列に分割するよりも読み込み

http://www.dt.fee.unicamp.br/~tiago/smsspamcollection/smsspamcollection.zip

。私はそれを3つの列 "ID"、 "テキスト"、 "クラス"に分割したいと思います。 「ID」は文字列の一意の識別子であり、「テキスト」は実際のメッセージであり、「クラス」はメッセージの「ハム」または「スパム」分類器である。

私は今のところです...

dat = readLines("SMSSpamCollection.txt") 
dat = as.data.frame(do.call(rbind, strsplit(dat, split="\t")), 
               stringsAsFactors=FALSE) 
names(dat) = c("ID", "Class" , "Text") 

これは、データフレームの中にそれを読んでいるんが、それは、「ID」列として任意の助けをインデックスを認識しませんか?

+0

カラム間にタブがあります(実際には.tsvです)ので、 '\ t"に分割します。簡体字: 'df < - read.table( 'SMSSpamCollection.txt'、sep = '\ t'、stringsAsFactors = FALSE、quote = ''、col.names = c( 'class'、 'text'))' – alistaire

+0

働いた!しかし、それは私が "ID"として必要なインデックスは列ではないと言います。列よりも列名が多いことがわかります。 – user3799901

+0

ファイルを見ると、わずか2列のデータしかありません。あなたはrownamesを参照していますか?あなたが好きな場合は、事実の後にそれらを列として追加することができます。 – alistaire

答えて

0

このファイルには識別子は含まれていません。それは2つの変数、 'クラス'と 'テキスト'しかありません。名前は「Class」と「Text」です。

+0

dat $ ID = c(1:nrow(dat)) – chachimouchacha

+0

ありがとう、私はそれらを使用するためにrownamesを維持しなければならなかったことを認識しませんでした。 – user3799901

関連する問題