R 如何在数据帧名称中间得到一个基于模式的数据帧列表?

R 如何在数据帧名称中间得到一个基于模式的数据帧列表?,r,list,R,List,我有许多类似命名的数据帧,我想把它们放到一个列表中 数据帧具有诸如df1b、df10b、df273b等名称。数据帧名称的中间部分始终由数字组成 我有一个局部的解决方案,但它是有缺陷的。我希望列表包含以df开始并以b结束的所有数据帧。我已经尝试过这个解决方案 list <- mget(ls(pattern = "df.b")) 但是,此解决方案仅适用于df和b之间有一位数字的名称。如何修改代码以处理df和b之间的任意数量的数字字符?您可以尝试 list_df <- mget(ls(p

我有许多类似命名的数据帧,我想把它们放到一个列表中

数据帧具有诸如df1b、df10b、df273b等名称。数据帧名称的中间部分始终由数字组成

我有一个局部的解决方案,但它是有缺陷的。我希望列表包含以df开始并以b结束的所有数据帧。我已经尝试过这个解决方案

list <- mget(ls(pattern = "df.b"))
但是,此解决方案仅适用于df和b之间有一位数字的名称。如何修改代码以处理df和b之间的任意数量的数字字符?

您可以尝试

list_df <- mget(ls(pattern = "^df\\d+b$"))
这将使所有以df开头的对象之间都有一个数字,并以b结尾。

您可以尝试

list_df <- mget(ls(pattern = "^df\\d+b$"))
这将使所有以df开头的对象都有一个介于两者之间的数字,并以b结尾。

尝试以下操作:

list <- mget(ls(pattern = "^df[0-9]+b$"))
请注意,模式包含一个正则表达式:

^df表示您需要以df开头的元素。 [0-9]+表示至少应有一个数字+表示一个或多个数字 b$意味着它应该以b结尾。 试试这个:

list <- mget(ls(pattern = "^df[0-9]+b$"))
请注意,模式包含一个正则表达式:

^df表示您需要以df开头的元素。 [0-9]+表示至少应有一个数字+表示一个或多个数字 b$意味着它应该以b结尾。 尝试:

尝试: