【发布时间】:2014-06-22 08:35:31
【问题描述】:
是否可以在 R 中将数据框(或 data.table)保存到包含不同列的不同分隔符的文本文件中? 例如: Column1[TAB]Column2[,]Column3 ?
[] 表示分隔符,这里是制表符和逗号。
【问题讨论】:
是否可以在 R 中将数据框(或 data.table)保存到包含不同列的不同分隔符的文本文件中? 例如: Column1[TAB]Column2[,]Column3 ?
[] 表示分隔符,这里是制表符和逗号。
【问题讨论】:
函数write.table 只接受一个分隔符。
MASS::write.matrix 可以解决问题:
require(MASS)
m <- matrix(1:12, ncol = 3)
write.matrix(m, file = "", sep = c("\\tab", ","), blocksize = 1)
返回
1\tab5,9
2\tab 6,10
3\tab 7,11
4\tab 8,12
但是由于这个函数的文档并没有说允许使用多个分隔符,所以自己做可能会更安全,以防万一上面有一些副作用。
例如,
seps <- c("\\tab", ",", "\n")
apply(m, 1, function(x, seps)
cat(x, file = "", sep = seps, append = TRUE), seps = seps)
返回
1\tab5,9
2\tab6,10
3\tab7,11
4\tab8,12
注意append 设置为TRUE,所以如果输出文件已经存在,它将被覆盖。
【讨论】: