「sep」/「dec」の設定は無視されました: write.csv 形式のエラー - R 質問する

「sep」/「dec」の設定は無視されました: write.csv 形式のエラー - R 質問する

同様の投稿はありますが、実際にこのエラーの原因を説明しているものはありません。

区切り文字「;」と小数点「.」を含む .csv 形式で入力を取得したいと思います。

Parameter;Intensitaet;Wert
se;1;0.027
se;1;0.024
se;1;0.021
se;1;0.018
se;1;0.015
se;1;0.012

私が得たものは次のとおりです:

Parameter;Intensitaet;Wert
se;2;0,0572
se;2;0,2
se;2;0,1
se;2;0,4
se;2;0,0795

このコードのさまざまなバージョンを試しました:

> write.csv(final, "SEmurgang.csv", row.names = F, quote = F, sep = ";")
Warning message:
In write.csv(final, "SEmurgang.csv", row.names = F, quote = F, sep = ";") :
  Versuch ignoriert 'sep' zu setzen

> write.csv2(final, "SEmurgang.csv", row.names = F, quote = F, dec=".")
Warning message:
In write.csv2(final, "SEmurgang.csv", row.names = F, quote = F,  :
  Versuch ignoriert 'dec' zu setzen

しかし、いつも同じエラーが発生します。どうすれば修正できますか?

ベストアンサー1

小数点と区切り文字は でハードコードされていますwrite.csv2

write.csv2 は、小数点にカンマ、区切り文字にセミコロンを使用します。これは、一部の西ヨーロッパ ロケールの CSV ファイルの Excel 規則です。

もしあなたに合わない場合は、 を使用する方が良いでしょうwrite.table

write.tableは基本的な方法であり、write.csvkin は単なる便利なラッパーです。

使用してwrite.tableもうまくいきます。

 xy <- data.frame(Parameter = rep("se", 5),
                 Intensitaet = rep(1, 5),
                 Wert = rnorm(5))
 xy
  Parameter Intensitaet         Wert
1        se           1 -1.014570811
2        se           1 -0.680449323
3        se           1 -0.223736133
4        se           1  0.004270224
5        se           1  0.607427274

 write.table(xy, file = "test.txt", row.names = FALSE, dec = ".", sep = ";", 
              quote = FALSE)
 
system("cat test.txt")
Parameter;Intensitaet;Wert
se;1;-1.01457081089331
se;1;-0.68044932280397
se;1;-0.223736133320336
se;1;0.0042702235293986
se;1;0.607427274081342

おすすめ記事