R 列出命名的数据帧

R 列出命名的数据帧,r,list,dataframe,naming,R,List,Dataframe,Naming,让两个数据帧由 df1<-data.frame(1,2) df2<-data.frame(3,4) df1这里有一种方法可以很好地处理长列表 > q <- quote(list(df1, df2)) > setNames(eval(q), as.character(q[-1])) # $df1 # X1 X2 # 1 1 2 # # $df2 # X3 X4 # 1 3 4 mget在其第一个参数中查找作为字符向量给定的对象,并返回命名列表。您可

让两个数据帧由

df1<-data.frame(1,2)
df2<-data.frame(3,4)

df1这里有一种方法可以很好地处理长列表

> q <- quote(list(df1, df2))
> setNames(eval(q), as.character(q[-1]))
# $df1
#   X1 X2
# 1  1  2
#
# $df2
#   X3 X4
# 1  3  4

mget
在其第一个参数中查找作为字符向量给定的对象,并返回命名列表。您可以提供所需对象名称的字符向量,也可以使用
ls()
使用正则表达式从
全局环境中选择所需对象(默认情况下,您可以为
mget
指定其他环境以在中查找对象):

正则表达式的使用似乎非常适合拥有数百个
数据的情况

mget( ls( pattern = "df[0-9]+" ) )
#$df1
#  X1 X2
#1  1  2

#$df2
#  X3 X4
#1  3  4
> q <- quote(list(df1, df2))
> setNames(eval(q), as.character(q[-1]))
# $df1
#   X1 X2
# 1  1  2
#
# $df2
#   X3 X4
# 1  3  4
> q
# list(df1, df2)
> as.character(q)
# [1] "list" "df1"  "df2" 
mget(c("df1","df2"))
#$df1
#  X1 X2
#1  1  2

#$df2
#  X3 X4
#1  3  4
mget( ls( pattern = "df[0-9]+" ) )
#$df1
#  X1 X2
#1  1  2

#$df2
#  X3 X4
#1  3  4