2013-11-26 1 views
9

私の状況は、異なるデータ型を持つ列からなるデータフレームをRのcsvファイルに書き込もうとしています。 :R .csvファイルを書くときに二重引用符を制御する方法

filename = file("equipment.csv") 
write.csv(file = filename, x = equipment, quote = FALSE, row.names = FALSE) 

私は列の一部が含まれている文字列を含んでいるので、SQLデータベースにcsvファイルをロードしようとすると、これが後に問題が発生します「」。上記のコードでquote = TRUEを設定すると、データベースにロードするときに数値データ型に問題が発生します。

私の質問:csvファイルを書き込むときにRが列に引用符を追加する方法を制御する方法はありますか?文字列の周りに引用符を追加できますが、他のデータ型には引用符を付けることはできません。

ご協力いただきありがとうございます。

+0

これは、私が探していた答え、あなたの助けに感謝します。私が抱えている問題は、Rが数値データ型と文字列を引用しているためにデータの読み込みに問題が生じていることです。あなたが提案する解決策は、そのトリックを行うようだ。 – Sledge

+0

また、問題の一部は、私の列タイプのいくつかが、あなたが記述している見かけの不一致のいくつかを許している可能性があるclass type:factorです。 – Sledge

答えて

9

あなたはこの

write.csv(file = filename, x = equipment, quote = c(2,3), row.names = FALSE) 

PSのように引用したい列を指定します。あなたは自動的に放置する列を出て仕事をしたい場合、あなたはこのようにそれを行うことができます。

non_numerics<-adply(1:ncol(equipment),1,function(x)print(is.numeric(equipment[,x]))) 
quote_val<-as.numeric(array(non_numerics[which(!non_numerics$V1),1])) 

filename = file("equipment.csv") 
write.csv(file = filename, x = equipment, quote = quote_val, row.names = FALSE) 
+0

私はあなたの追加のコメントを見ましたが、私はこれに似た何かをしたので、すべての列で例外をチェックする必要はありませんでした。 write.csv()に関する私の唯一の苦情は、カラム名を引用符で囲まずにカラム引用符にどのように影響を与えるかがはっきりしなかったことです。列名の引用符は、すべての、または何もない型のように見えます... – Sledge

関連する問題