使用sprintf(或其他替代方法)在R中命名写入的表

时间:2014-01-23 19:28:55

标签: r printf

我正在 R 中编写一个函数,将函数写入表中。每次调用该函数时,我都希望在导入数据文件的名称后命名该表。我从Matlab的经验中熟悉evalsprintf,但我正在学习 R ,并想知道有哪些替代品可用(我知道eval是真的!)。

txtfile='datafileA.txt';  #name of data text file 
statsdf<-as.data.frame(stats)  #data frame that I would like to write to a table
txtname=str_sub(txtfile,1,-5)  #portion of text file that I would like to name my table after
#my attempt at naming the table written after the data file:
sprintf("write.table(statsdf,'Stats_%s.txt',sep='\t',col.names=NA,quote=FALSE)",txtname)

如何运行上述命令?
R 中有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

filename <- sprintf("Stats_%s.txt", txtname)

write.table(statsdf, file = filename, sep = "\t", col.names = NA, quote = FALSE)