同様の投稿はありますが、実際にこのエラーの原因を説明しているものはありません。
区切り文字「;」と小数点「.」を含む .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.csv
kin は単なる便利なラッパーです。
使用して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