使用另一个变量按名称访问R中的列表项

使用另一个变量按名称访问R中的列表项,r,dataframe,pointers,subset,R,Dataframe,Pointers,Subset,我试图使用存储在另一个变量中的名称访问列表中的一个项目,但是我得到一个错误,该对象不存在。有什么解决办法吗?我花了两天的时间来寻找一个:) 工作示例: # create a list master <- list(1, 2, 3, 4) names(master) <- c("d", "a1", "b", "c") #4123 master[["a2"]] <- 25 # set up the problem callname <- "a2" callname &l

我试图使用存储在另一个变量中的名称访问列表中的一个项目,但是我得到一个错误,该对象不存在。有什么解决办法吗?我花了两天的时间来寻找一个:)

工作示例:

# create a list
master <- list(1, 2, 3, 4)
names(master) <- c("d", "a1", "b", "c")  #4123
master[["a2"]] <- 25

# set up the problem
callname <- "a2"

callname <- paste("master", callname, sep="$")

# Try to call up the value based on the name:
callvalue <- get(callname)
# This gives error: "Error in get(callname) : object 'master$a2' not found" 

# However, calling the object directly prints the value correctly:
master$a2
# [1] 25
#创建一个列表

掌握我们可以使用
get
提取
列表
对象,然后使用
[

callname <- "a2"
get("master")[[callname]]
#[1] 25

我们可以使用
get
提取
list
对象,然后使用
[[

callname <- "a2"
get("master")[[callname]]
#[1] 25

相反,它将是
callname谢谢你akrun!当我将它扩展到我的真实世界时,我会有一些复杂的情况,但必须跑去赶我的巴士,所以我将在明天回到这里。相反,它将是
callname谢谢你akrun!当我将它扩展到我的真实世界时,我会有一些复杂的情况,但必须跑去赶我的巴士,所以我会回来明天再做这件事。