gpt4 book ai didi

r - 从 R 中的向量创建多个环境

转载 作者:行者123 更新时间:2023-12-04 10:46:41 25 4
gpt4 key购买 nike

我在 R 中创建环境时遇到问题。我知道您可以创建一个新环境,例如 "Mar2015"=new.env() .那个有效。但是,由于某些奇怪的原因,我无法从向量中执行此操作。我创建了这个向量test=c("Mar2015","Sep2013")test[1]=new.env()不起作用。

我确信这些是相同的,因为我可以使用唯一的命令 unique(c(test[1],"March2015"))并确认它们相同。

谁能解释为什么会这样?

最佳答案

当您运行时 test[i] = new.env()您正在尝试将环境存储在字符串向量中;由于环境不是字符串,因此此代码将导致错误。

您可以从 test 创建一个命名的环境列表。和:

envs <- sapply(test, function(x) new.env())

或者
envs <- setNames(replicate(length(test), new.env()), test)

然后您可以使用 envs$Mar2015 访问您的环境和 envs$Sep2013或等效地 envs[["Mar2015"]]envs[["Sep2013"]] .特别是如果您要创建大量环境,则命名列表可能是比环境中的单个变量更好的结构。

如果你真的想用每个指定的名称创建一个变量,你可以使用:
for (x in test) assign(x, new.env())

关于r - 从 R 中的向量创建多个环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31619935/

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