r - 使用对象名称作为R中的列表名称

标签 r list naming

当然,我可以这样手动命名列表中的所有对象:

    #create dfs
    df1<-data.frame(a=sample(1:50,10),b=sample(1:50,10),c=sample(1:50,10))
    df2<-data.frame(a=sample(1:50,9),b=sample(1:50,9),c=sample(1:50,9))
    df3<-data.frame(a=sample(1:50,8),b=sample(1:50,8),c=sample(1:50,8))

    #make them a list
    list.1<-list(df1=df1,df2=df2,df3=df3)

但是,如果我假设有50个长名称的对象,那么这将耗费大量精力。
那么,有什么方法可以自动执行此操作,并使列表中的名称与外部对象相同?

最佳答案

找到名称,然后调用mget
如果每个变量的名称都有一个模式,那么这很简单。

var_names <- paste0("df", 1:3)
mget(var_names, envir = globalenv())  #or maybe envir = parent.frame()

如果命名系统更复杂,则可以使用正则表达式来查找它们,例如
var_names <- ls(envir = globalenv(), pattern = "^df[[:digit:]]+$")

关于r - 使用对象名称作为R中的列表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15387727/

相关文章:

list - Future 异步函数的返回值有问题

dart - dart 中的函数和用法变量名

c# - 这仍然是适配器模式吗?

r - 检查完全平方并替换为 R 中的另一个值

r - 一次聚合多列

xml - 如何将复杂的 XML 解析为 R 中的长格式数据框

python-3.x - Pandas Series 值包含列表,如何计算唯一值并将其作为字典返回

python - 创建列表副本并删除元素

bash - bash 函数名称中的感叹号 - 我应该吗?

r - 如何在 valueBox() 中将图像设置为背景而不是在 shinyApp 中设置颜色?