这种类型的子集列表将起作用:myfunction <- function(arg) {命名列表[[arg]]}并返回与namedlist$a相同的值,但您确实需要将组件名称作为字符串传递:>命名列表$a[1] "50" "80">我的功能(一)myfunction(a) 中的错误:找不到对象a">我的功能(一个")[1] "50" "80"I have an understanding problem with passing arguments to a function in R.In the following example, I retrieve a value from a named list by name. When I do it directly, it returns the value. But when I put the same code into a function, it returns NULL. What happens here?Thanks in advance,Mirkonamedlist <- list(a=c("50", "80"), b=c("50"))namedlist$a# returns: [1] "50" "80"myfunction <- function(arg){ namedlist$arg }myfunction(a)# returns: NULL 解决方案 You are requesting:namedlist$argand of course there isn't a component with the name "arg" in namedlist, hence the return value NULL.this type of subsetting the list will work:myfunction <- function(arg) { namedlist[[arg]]}and returns the same as namedlist$a, but you do need to pass the component name as a string:> namedlist$a[1] "50" "80"> myfunction(a)Error in myfunction(a) : object 'a' not found> myfunction("a")[1] "50" "80" 这篇关于将参数传递给函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!