【问题标题】:Automatically using the object name as file name with write.table or write.csv通过 write.table 或 write.csv 自动使用对象名称作为文件名
【发布时间】:2013-05-30 08:59:38
【问题描述】:

在使用write.table或write.csv时,有没有办法让对象名变成文件名字符串?

下面,a 和 b 是向量。我将对许多其他向量对进行类似的比较,并且不想像我一直在做的那样多次写出对象名称。

unique_downa

write.csv(unique_downa,file="unique_downa.csv")

或者,如果有人对完成整个过程的更好方法提出建议,我很乐意听到。

【问题讨论】:

    标签: r csv filenames


    【解决方案1】:

    使用列表元素的名称而不是尝试使用对象名称可能最简单:

    mycomparisons <-list (unique_downa = a[!(a%in%b)], unique_downb = b[!(b%in%a)])
    mapply (write.csv, mycomparisons, paste (names (mycomparisons), ".csv", sep =""))
    

    最好的办法可能是将你的向量放在一个列表中,然后在同一个循环中进行比较、命名和写出,但这取决于这些相似比较的相似程度......

    【讨论】:

      【解决方案2】:

      惯用的做法是使用deparse(substitute(blah))

      例如

       write.csv.named <- function(x, ...){
            fname <- sprintf('%s.csv',deparse(substitute(x)))
            write.csv(x=x, file =  fname, ...)
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-15
        • 2021-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多