gpt4 book ai didi

r - 使用三点参数时的 list(...) 与 as.list(...)

转载 作者:行者123 更新时间:2023-12-03 19:57:00 24 4
gpt4 key购买 nike

我想获得一个列表,其中包含传递给函数的“...”参数。

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(...)表现不同?

干杯。

最佳答案

您可能正在寻找 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"

我不想解释错误,所以我会让其他人解释原因。

关于r - 使用三点参数时的 list(...) 与 as.list(...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31317047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com