我想获得一个包含" ..."的列表传递给函数的参数。
myfunction <- function(..., a=1){
parameters <- as.list(...)
for(i in parameters){
print(i)
}
}
但是在调用myfunction("x","y","z")
时,我会得到一个带有一个项目的向量:
## [1] "x"
然后,如果我只用as.list(...)
list(...)
myfunction <- function(..., a=1){
parameters <- list(...)
for(i in parameters){
print(i)
}
}
它有效:
## [1] "x"
## [1] "y"
## [1] "z"
那么为什么as.list(...)
表现不同?
干杯。
答案 0 :(得分:2)
您可能正在寻找c
连接函数。
as.list(c('x', 'y', 'z'))
#[[1]]
#[1] "x"
#
#[[2]]
#[1] "y"
#
#[[3]]
#[1] "z"
myfunction <- function(..., a=1){
parameters <- as.list(c(...))
for(i in parameters){
print(i)
}
}
myfunction('x', 'y', 'z')
#[1] "x"
#[1] "y"
#[1] "z"
我不想让解释错误,所以我会让其他人解释原因。