使用write.table或write.csv时,有没有办法让对象名成为文件名字符串?
在下文中,a和b是向量。我将对许多其他矢量对进行类似的比较,并且不想像我一直多次写出对象名称。
unique_downa的百分比抑制率!(以%B A%)] -a
write.csv(unique_downa,文件= “unique_downa.csv”)
或者,如果有人建议更好地完成整个过程,我会很高兴听到它。
答案 0 :(得分:5)
惯用法是使用deparse(substitute(blah))
例如
write.csv.named <- function(x, ...){
fname <- sprintf('%s.csv',deparse(substitute(x)))
write.csv(x=x, file = fname, ...)
}
答案 1 :(得分:1)
最简单的方法是使用列表元素的名称而不是尝试使用对象名称:
mycomparisons <-list (unique_downa = a[!(a%in%b)], unique_downb = b[!(b%in%a)])
mapply (write.csv, mycomparisons, paste (names (mycomparisons), ".csv", sep =""))
最好的办法是将你的矢量放在一个列表中,然后在同一个循环中进行比较,命名和写出,但这取决于这些相似比较的相似程度...... < / p>