我的数据框中有一些char和factor变量,看起来像“A,A”,“B,B,B,B”“C,C”
我正在尝试将整个数据框导出到.csv,但输出非常不稳定。这让我更加困惑,因为我想要欧洲的csv格式。当我打开csv文件时,正在根据该变量的逗号创建其他列。
我尝试了以下方法,没有任何效果:
write.table(mydata, "C:/Data/test.csv",row.names=FALSE,sep=";",dec=',')
write.table(mydata,"C:/Data/test.csv",row.names=F, quote = TRUE)
write.table(mydata, "C:/Data/test.csv",row.names=FALSE,sep="\t",dec=',')
#This works well, but I would rather have a .csv than an excel file:
write.table(mydata, "C:/Data/test.xls",row.names=FALSE,sep="\t",dec=',')
预期输出是单元格不分割的列,如下所示:
VariablesWithCommas
A ,A
B ,B ,B ,B
C ,C
感谢任何帮助
答案 0 :(得分:1)
我同意@drmariod认为创建一个csv文件并不是最好的想法,其中分隔符是一个逗号 - 这只会引起太多混乱。
但是如果你必须根据用途你可以做一些事情,
df <- data.frame(A = rbind("A ,A",
"B ,B ,B ,B ",
"C ,C "))
如果您想再次在R中使用此数据,那么:
# write an object
dput(df, "out")
# read an object
dget("out")
如果您要写入文件,则可以使用write
或writeLines
&#39;建立&#39;你的文件来自行。这是一个想法:
lines <- lapply( data.frame(split(df, 1:nrow(df))) ,as.character)
# write rows to file
for(i in 1:nrow(df)){
write( paste0(lines[i]), file = "out.txt", append = T)
}
再读回来:
df_2 <- read.csv("out.csv", sep="\n")