尝试设置"sep"/"dec"忽略:write.csv格式错误 - R.

Dan*_*nka 8 csv r

有类似的帖子,但实际上没有一个是由这个错误引起的?

我想以这种.csv格式获取输入:separator";" 和十进制"."

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
Run Code Online (Sandbox Code Playgroud)

我得到的是:

Parameter;Intensitaet;Wert
se;2;0,0572
se;2;0,2
se;2;0,1
se;2;0,4
se;2;0,0795
Run Code Online (Sandbox Code Playgroud)

已尝试此代码的各种版本:

> 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
Run Code Online (Sandbox Code Playgroud)

但是我总是得到同样的错误.我该怎么办呢?

提前致谢!

Rom*_*rik 16

十进制和分隔符是硬编码的write.csv2.

write.csv2使用小数点的逗号和分隔符的分号,一些西欧语言环境中的CSV文件的Excel约定.

如果他们不适合你,你最好使用write.table.write.table是基本的方法,write.csv并且亲属只是一个方便的包装.

使用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
Run Code Online (Sandbox Code Playgroud)