【问题标题】:in R: save text file with different separators for each column?在 R 中:为每列保存具有不同分隔符的文本文件?
【发布时间】:2014-06-22 08:35:31
【问题描述】:

是否可以在 R 中将数据框(或 data.table)保存到包含不同列的不同分隔符的文本文件中? 例如: Column1[TAB]Column2[,]Column3 ?

[] 表示分隔符,这里是制表符和逗号。

【问题讨论】:

    标签: r save separator


    【解决方案1】:

    函数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,所以如果输出文件已经存在,它将被覆盖。

    【讨论】:

    • 为参数 'seps' 设置默认值可以稍微简化代码: apply(m, 1, function(x, seps = c("\\tab", ",", "\ n")) cat(x, file = "", sep = seps, append = TRUE))
    • 谢谢!有效(虽然保存文件需要很长时间)
    猜你喜欢
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多