gpt4 book ai didi

r - 如何动态调用变量?

转载 作者:行者123 更新时间:2023-12-04 16:47:38 24 4
gpt4 key购买 nike

我正在处理我存储在三个列表中的三个实验:exp1 , exp2exp3 .每个列表都有几个项目( nameconditionsdataset_adataset_b 等)。有时我想对所有的实验进行一个操作。有没有办法将它们的名称存储在变量中并动态调用它们?这不起作用:

all_exp <- list(exp1=exp1,exp2=exp2,exp3=exp3)

因为如果我以后在实验中添加一些东西, all_exp有前一个状态的实验的硬拷贝,而不是引用。

这类作品:
all_exp_names <- c("exp1","exp2","exp3")
all_exp <- lapply(all_exp_names, function(exp_name) (eval(parse(text=exp_name))))

但是一定有更简单的方法,而且返回的列表丢失了实验名称。

最佳答案

如果你想保留名字,你可以使用 sapply(..., simplify=FALSE, USE.NAMES=TRUE) :

A <- B <- C <- 1:4
nms <- c("A", "B", "C")

sapply(nms, get, simplify=FALSE, USE.NAMES=TRUE)
## $A
## [1] 1 2 3 4
##
## $B
## [1] 1 2 3 4
##
## $C
## [1] 1 2 3 4

关于r - 如何动态调用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174635/

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