36

アポストロフィを含む .txt または .csv ファイルを R に読み取らせるのに苦労しています。

私のコラムには、「顧客のニーズに応える」や「保安官代理」などの説明文が含まれているものがあります。私のファイルは Excel で正しく開きます (つまり、すべてのデータが正しいセルに表示されます。3 つの列と約 8000 行があり、欠損データはありません)。しかし、R にファイルの読み取りを要求すると、次のようになります。

data <-read.table("datafile.csv", sep=",", header=TRUE)
  Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 520 did not have 3 elements

(行 520 は、アポストロフィを含む最初の行です。)

.txt または .csv ファイルにアクセスしてすべてのアポストロフィを手動で削除すると、R はファイルを正しく読み取ります。ただし、できればアポストロフィを付けたままにします。

私はRが初めてで、どんな助けにも感謝します。

4

3 に答える 3

38

デフォルトでは、read.table一重引用符と二重引用符を引用文字として認識します。quote="\""通話に追加する必要がありますread.tableread.csvまたは、デフォルトで二重引用符を引用符としてのみ認識する を使用することもできます。

于 2012-03-08T15:41:32.713 に答える
9

?read.table のオプションを徹底的に調べることは、長期的に見れば報われるでしょう。文字を引用するためのデフォルト値は quote = "\"'" であり、これは R がその式を解析した後の実際にはたった 2 文字、一重引用符と二重引用符ですquotes=NA。 「comment.char」のデフォルトは「#」です。文字列が因数に変換されないように、「as.is」を TRUE に変更すると役立つ場合があります。

于 2012-03-08T15:47:37.640 に答える
1

パラメータ quote="\\" を read.table に設定するとうまくいくはずです。

于 2014-08-24T08:14:59.947 に答える