【发布时间】:2020-07-14 12:38:10
【问题描述】:
我创建了一个先前生成的图和矩阵的命名列表,我想返回这些元素的原始名称。
mylist <- list(FirstPlot=myplot1, FirstMatrix=mymatrix1, SecondPlot=myplot2)
names(mylist) 返回
[1] "FirstPlot" "FirstMatrix" "SecondPlot"
但我想返回[1] "myplot1" "mymatrix1" "myplot2"
我觉得一定有一种简单的方法可以做到这一点,但我找不到。有什么建议吗?
【问题讨论】:
-
在创建列表时,是否有反对按要求命名?
-
当您命名列表中的对象时,您实际上是在替换原始对象名称。如果您打印 mylist,您将看到每个对象都以新名称开头。它原来的名字已经消失了。
-
@Wimpel 你的意思是
mylist <- list(myplot1=myplot1, ...?这本来是可能的,但我已经为列表中的元素命名了一个目的,现在我想要其他东西的原始名称。此外,我实际上并没有一口气创建列表:我在生成对象时添加并命名了对象,并且返回代码会很乏味。 -
@SteveM 那么有没有办法用一个无名列表来做到这一点,例如
mylist2 <- c(myplot1, mymatrix1, myplot2)?在这种情况下,names(list)返回NULL。创建列表是否总是会丢失原始名称? -
你为什么需要这个很神秘。
标签: r