r语言 - 如何根据数据帧名称中间的模式获取数据框列表



我有许多名称相似的数据框,我想将它们放入一个列表中。

数据框的名称包括"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 <- mget(ls(pattern = "^df[0-9]+b$"))

请注意,pattern包含一个正则表达式:

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

尝试:

list <- mget(ls(pattern = "df.*b"))

最新更新