Rにアポストロフィを含む.txtまたは.csvファイルを読み取らせるのが困難です。
一部の列には、「顧客のニーズに対応する」や「保安官の代理人」などの説明テキストが含まれています。私のファイルは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を初めて使用するので、どんな助けにも感謝します。
デフォルトでは、read.table
は、単一引用符および二重引用符を引用文字と見なします。追加する必要がありますquote="\""
からread.table
呼び出し。または、read.csv
。デフォルトでは、二重引用符のみが引用文字として認識されます。
?read.tableのオプションを徹底的に研究することは、長期的に見れば報われるでしょう。文字の引用符のデフォルト値はquote = "\" '"です。これは、Rが式を解析した後の実際の2文字のみである、単一引用符と二重引用符です。quotes=NA
を使用して、両方を考慮から削除できます。また、「comment.char」をデフォルトで「#」に削除する必要がある場合もあります。「as.is」をTRUEに変更すると、文字列が因子に変換されないようにするのに役立ちます。
Read.tableでパラメータquote = "\\"を設定すると、うまくいくはずです。