gpt4 book ai didi

r - 从对象名称向量中列出许多对象

转载 作者:行者123 更新时间:2023-12-04 14:36:07 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I make a list of data frames?

(9 个回答)


4年前关闭。




TL;DR:我需要的是 list() 的矢量化版本.

我正在尝试创建一个对象列表。我不知道会有多少个对象,也不知道它们叫什么名字,而且可能有很多。所以我不能只是手工列出一个 list 。

但是,我知道当需要制作列表时,所有对象都将存在于我的环境中,并且我知道我将有一个包含所有对象名称的字符向量。

(这些是一个可怕的三层 for 循环的输出,我试图避免让它变得更大。我可以创建一个空列表,然后在循环创建它们时将对象分配给它,但我不想.)

我已经搜索过 Google 和 Stack Overflow,但找不到好的解决方案。在我看来,我需要的是 list() 的矢量化版本: 将采用对象名称向量的东西,找到所有这些对象并将它们插入列表中。

list(obj1, obj2, obj3) # Not this. I don't want to name each element individually.

objectsVector <- c("obj1", "obj2", "obj3")
list_vectorised(elements = objectsVector) # I want this instead.

namesVector <- c("anObject", "anotherObject", "yetAnotherObject")
list_vectorised(elements = objectsVector, names = namesVector) # Or better still, this.

最佳答案

您可以使用 mget从环境中获取对象并将它们放入列表中。

mget(VECTOR_OF_NAMES_OF_OBJECTS)

您也可以组合 mgetls()这样您就不必键入您自己的对象名称。
obj1 = 1:2
obj2 = 3:7
obj13 = 8:11

mget(ls(pattern = "obj\\d+"))
#$obj1
#[1] 1 2

#$obj13
#[1] 8 9 10 11

#$obj2
#[1] 3 4 5 6 7

关于r - 从对象名称向量中列出许多对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963831/

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