R:在全局环境中遍历对象并以多个文件名写入表

时间:2018-11-14 15:55:37

标签: r loops lapply

我已经搜寻了几个小时,但仍然无法解决这个问题。我在R全局环境中遍历一些对象,并将其保存为不同的文件名。但是错误总是在最后阶段弹出:

 Error in as.vector(x, mode = "character") : 
no method for coercing this S4 class to a vector 

这个想法是将环境中所有以proj2开头的列表都接受,并最终将它们保存到txt文件中。我猜是因为要保存的文件名还包含x,该x指示了我的对象名?但是,如何在不执行此操作的情况下将文件保存为其他名称?

这是我的代码:

savelist <- function(x){
x_up <- subset(x, padj <= 0.05 & log2FoldChange >= 0 )
x_up$fac_lab <- rep("treated_up", nrow(x_up))
x_f_up <- as.data.frame(x_up)[,c(7,2,6)]
write.table(x_f_up, file= paste(x, "up", sep ="_"), sep="\t",quote=FALSE, row.names=TRUE, col.names = FALSE, append = FALSE)
}
lapply(mget(ls(pattern = "proj2")), savelist)

任何建议都会有所帮助。谢谢。

0 个答案:

没有答案