gpt4 book ai didi

r - 将参数传递给函数

转载 作者:行者123 更新时间:2023-12-05 00:05:20 25 4
gpt4 key购买 nike

我在将参数传递给 R 中的函数时有一个理解问题。

在以下示例中,我按名称从命名列表中检索值。当我直接执行时,它返回值。但是当我将相同的代码放入一个函数时,它返回 NULL。这里会发生什么?

提前致谢,
米尔科

namedlist <- list(a=c("50", "80"), b=c("50")) 

namedlist$a
# returns: [1] "50" "80"

myfunction <- function(arg){ namedlist$arg }
myfunction(a)
# returns: NULL

最佳答案

您正在请求:
namedlist$arg
当然,没有名为 "arg" 的组件在 namedlist ,因此返回值 NULL .

这种类型的子集列表将起作用:

myfunction <- function(arg) {
namedlist[[arg]]
}

并返回与namedlist$a 相同的值,但您确实需要将组件名称作为字符串传递:
> namedlist$a
[1] "50" "80"
> myfunction(a)
Error in myfunction(a) : object 'a' not found
> myfunction("a")
[1] "50" "80"

关于r - 将参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4657466/

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