インポート時にクラスを定義するcsvがある。いくつかの列は整数クラスです。私が持っている問題は、それらの列の1つに "3"の代わりに "3"を書き込むと、関数全体が機能しなくなるということです。整数列の文字セルをNAに変換する。read.csv
私が彼にして欲しいことは、インポート中にテキストをNAに変換することです。私はあなたがna.strings = ...を使うことができることを見ましたが、それはすべての列に当てはまりますね。私はcsv全体からではなく、ある列から文字を除外したいだけです。
これには簡単な解決法がありますか、または手動でそのような値を各列にチェックしてNAに変換する必要がありますか?
EDIT:追加情報: これは私のコードは次のようになります。
df <- read.csv(text=capture.output(write.csv(d.xxx,row.names=FALSE)),
colClasses=d.yyy,
header = TRUE)
d.xxx is a data frame containing the values and
d.yyy is a list containing "integer","character",etc. in the correct order
EDIT2:これは私が取得エラーです:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
scan() expected 'a real', got '"2"'
クラスが混在する列がある場合は、 'read.csv'に' colClasses = c( 'integer'、 'character') 'などを指定できます。したがって、 'colClasses'で指定された整数列に '3'があれば、それはNAに変換されます – akrun
' as.numeric() 'でインポートした後に列の型を変更できますか?あなたが文字を持っている場合、それはNAsを生成します。 – Hugo
@akrun thats私がやったこと、期待したことは起こるだろう。代わりに、ファイルをインポートせず、「実際に期待した、2」を返します。 – Pablowa