我在R语言中传递函数参数方面存在一些理解问题。
在下面的例子中,我通过名称从命名列表中检索值。当我直接这样做时,它会返回该值。但是当我将相同的代码放入一个函数中时,它会返回NULL。这里发生了什么?
谢谢,Mirko
namedlist <- list(a=c("50", "80"), b=c("50"))
namedlist$a
# returns: [1] "50" "80"
myfunction <- function(arg){ namedlist$arg }
myfunction(a)
# returns: NULL
myfunction
使其自包含,并将所需的所有对象作为参数传递。myfunction <- function(list, arg)
并将以下内容作为函数体list[[arg]]
,并通过myfunction(namedlist, "a")
调用它。 - Gavin Simpson