我正在尝试使用现有函数编写函数,并且能够将参数传递给现有函数,而无需在新函数中定义每个参数。用语言很难表达出来。所以这是一个例子: 我正在使用read.table编写一个函数,以便使用我正在编写的函数传递必须读取的文件名(基本上我不想更改工作目录)。以下是示例:
MyFilePath <- "/Users/John/Work/"
read.table.path <- function(file, path){
x <- paste(path, file, sep="/")
return(read.table(x))
}
所以要在该文件夹中读取一个名为“table.txt”的文件:
table <- read.table.path(file="table.txt", path=MyFilePath)
但是,如何使用此功能(read.table.path
)以便我可以将参数传递给read.table
,例如,如果我想说header=TRUE
,fill=TRUE
,等
答案 0 :(得分:9)
使用...
read.table.path <- function(file, path,...){
read.table(file.path(path, file), ...)
}
(file.path
函数比paste
快,并填写适当的特定于平台的路径分隔符。)
你所描述的那种小函数通常被称为“包装器”。