mik*_*ike 14 string loops r list
我正在尝试使用get()来访问r中的列表元素,但是收到错误.
example.list <- list()
example.list$attribute <- c("test")
get("example.list") # Works just fine
get("example.list$attribute") # breaks
Run Code Online (Sandbox Code Playgroud)
get("example.list $ attribute")出错:找不到对象'example.list $ attribute'
有小费吗?我正在循环一个标识列表名称的字符串向量,这将非常有用.
Jos*_*ien 24
这是您可能正在寻找的咒语:
get("attribute", example.list)
# [1] "test"
Run Code Online (Sandbox Code Playgroud)
或许,根据您的情况,这个:
get("attribute", eval(as.symbol("example.list")))
# [1] "test"
# Applied to your situation, as I understand it...
example.list2 <- example.list
listNames <- c("example.list", "example.list2")
sapply(listNames, function(X) get("attribute", eval(as.symbol(X))))
# example.list example.list2
# "test" "test"
Run Code Online (Sandbox Code Playgroud)
为什么不简单地:
example.list <- list(attribute="test")
listName <- "example.list"
get(listName)$attribute
# or, if both the list name and the element name are given as arguments:
elementName <- "attribute"
get(listName)[[elementName]]
Run Code Online (Sandbox Code Playgroud)