0

read.csv を使用して R にロードし、いくつかの操作を実行した csv ファイルがあります。そして、今度はそれを csv 形式に書き戻す必要があります。ただし、問題は、 write.table() 関数が必要な出力を生成しないことです。

初期データ:

id,name,Households,Population,Total Male,Total Female
0,Nepal,5427302,26494504,12849041,13645463
1,Taplejung,26509,127461,60552,66909
2,Panchthar,41196,191817,90186,101631
3,Ilam,64502,290254,141126,149128
4,Jhapa,184552,812650,385096,427554

write.table() による最終出力

"id","name","Households","Population","SexRatio"
"1",0,"Nepal",5427302,26494504,94.1634666408901
"2",1,"Taplejung",26509,127461,90.499036004125
"3",2,"Panchthar",41196,191817,88.7386722555126
"4",3,"Ilam",64502,290254,94.634139799367
"5",4,"Jhapa",184552,812650,90.0695584651295

最終出力を入力形式で取得するにはどうすればよいですか?

4

1 に答える 1

2

あなたの主な不満は、出力に追加された「行名」とすべての文字列を囲む引用符に関するものだと思います。

その場合は、引数row.namesquotein write.table()(したがって) を調べて、ファイルを書き込むときにwrite.csv()それらを に設定します。FALSE

R のデータがinData.

まず、inDataへのデフォルトの引数を使用してファイルに書き込みますwrite.csv。行名と引用符で囲まれた文字列に注意してください。

write.csv(inData, file = "oldfile.csv")

cat(readLines("oldfile.csv"), sep="\n")
# "","id","name","Households","Population","Total.Male","Total.Female"
# "1",0,"Nepal",5427302,26494504,12849041,13645463
# "2",1,"Taplejung",26509,127461,60552,66909
# "3",2,"Panchthar",41196,191817,90186,101631
# "4",3,"Ilam",64502,290254,141126,149128
# "5",4,"Jhapa",184552,812650,385096,427554

inDataこれは、私が言及した引数を に設定して書かれているのと同じことですFALSE:

write.csv(inData, file = "newfile.csv", 
          row.names = FALSE, quote = FALSE)

cat(readLines("newfile.csv"), sep="\n")
# id,name,Households,Population,Total.Male,Total.Female
# 0,Nepal,5427302,26494504,12849041,13645463
# 1,Taplejung,26509,127461,60552,66909
# 2,Panchthar,41196,191817,90186,101631
# 3,Ilam,64502,290254,141126,149128
# 4,Jhapa,184552,812650,385096,427554
于 2013-11-06T08:05:32.557 に答える