在R中是否可以将数据框(或data.table)保存到包含不同列的不同分隔符的文本文件中? 例如: Column1 [TAB] Column2 [,] Column3?
[]表示分隔符,这里是TAB和逗号。
答案 0 :(得分:0)
函数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
,因此如果输出文件已存在,则会被覆盖。