将目录名称作为参数传递

时间:2015-12-20 07:06:30

标签: r

我当前的目录是c:/users/akshay/Documents

但我的所有数据都在目录" specdata"其路径地址为c:/users/akshay/Documents/specdata

当我在控制台中单独输入这些命令时,它可以成功运行。

path <- "C:/Users/akshay/Documents"
directory <- "specdata"
setwd(paste(path, directory, sep="/", collapse=NULL))

但是当我在这样的功能中使用它时,它不会改变我的工作目录。

pollutantmean <- function(directory){
directory <- character(1)
path <- character(1)
path <- "C:/Users/akshay/Documents"
setwd(paste(path, directory, sep="/", collapse=NULL))    
}

但是当我通过时

>pollutantmean("specdata")

它不会改变我的工作目录为什么会这样? 有什么问题?

1 个答案:

答案 0 :(得分:2)

也许尝试返回粘贴。此外,您不需要character()函数。

pollutantmean <- function(directory){
   path <- "C:/Users/akshay/Documents"
   return(paste(path, directory, sep="/", collapse=NULL))
   }

pollutantmean("specdata")

输出:

> pollutantmean("test")
[1] "C:/Users/akshay/Documents/test"

更改目录:

pollutantmean<-function(directory){ + path<-"C:/Users/akshay/Documents" + setwd(paste(path,directory,sep="/",collapse=NULL)) + }