将变量写入" .txt" R

时间:2016-05-31 21:49:12

标签: r matlab file-io

我正在将变量写入" .txt" R 中的文件。我写了以下代码:

textfile=file.path("tuning_parameter.txt");
printer = file(textfile,"a+");
write(c(V1,V2,V3,V4,V5,V6),textfile,sep = " ",append = TRUE);
write("\n", textfile, append=TRUE)
close(printer)

我运行代码两次并获得

1 0.02301807 0.5829662 1.391419 0.0452473
0.07409543
1 0.02301807 0.5829662 1.391419 0.0452473
0.07409543

我的问题是为什么第6个变量改为下一行,因为我没有使用任何" \ n"。另一个问题是, R 中是否有任何方法可以控制写入变量的数字,例如

fprintf(fid, '%s %10.4f %10.4f \n',V1,V2,V3);
MatLab

中的

1 个答案:

答案 0 :(得分:1)

write函数有ncolumns参数,对于非字符向量默认为5:

write(x, file = "data",
      ncolumns = if(is.character(x)) 1 else 5,
      append = FALSE, sep = " ")

尝试:

V1 <- 1
V2 <- 0.02301807 
V3 <- 0.5829662 
V4 <- 1.391419 
V5 <- 0.0452473
V6 <- 0.07409543
textfile=file.path("tuning_parameter.txt");
printer = file(textfile,"a+");
write(c(V1,V2,V3,V4,V5,V6), textfile,sep = " ",append = TRUE, ncolumns = 6);
write("\n", textfile, append=TRUE)
close(printer)

,产生单行。