将参数转换为部分字符串

时间:2014-11-09 14:54:19

标签: r

我确定这是非常基本的,但我还没有能够在stackoverflow上找到答案。

我与之合作的基础是

f1 <- function(x) {
setwd("~/Rdir/x")
col1 <- f2(...)
col2 <- f3(...)
genelist <- data.frame(co1,col2)
write.csv(genelist, file="x.csv")
}

基本上我想要的是将x替换为我输入的任何内容 f1(test)会将名为test.csv的文件保存到目录Rdir / test中。

我会发布一个更完整的代码示例,说明我正在使用的内容 - 但它很长。

2 个答案:

答案 0 :(得分:3)

您可以使用?paste

setwd(paste("~/Rdir/", x, sep=""));

write.csv(genelist, file=paste(x, ".csv", sep=""))
在你的例子中

。但是,我可以更直接地更改工作目录,而只是在保存时指定完整路径:

write.csv(genelist, file=paste("~/Rdir/", x, "/", x, ".csv", sep=""))

但请注意,如果目录不存在,这将会崩溃。您可以先查看?dir.create以创建目录,以防它不存在。

答案 1 :(得分:2)

您可以使用paste0创建文件名,使用file.path创建路径:

x <- "test"
file.path("~/Rdir", x, paste0(x, ".csv"))
# "~/Rdir/test/test.csv"