我有许多名称相似的数据框,我想将它们放入列表中。
数据帧具有诸如“ df1b”,“ df10b”,“ df273b”等名称。数据框名称的中间部分始终由数字组成。
我有一个局部解决方案,但这是有缺陷的。我希望列表包含所有以“ df”开头并以“ b”结尾的数据帧。我已经尝试过这种解决方案。
list <- mget(ls(pattern = "df.b"))
但是,该解决方案仅适用于在“ df”和“ b”之间具有一位数字的名称。如何修改代码以使其适用于“ df”和“ b”之间的任意数量的数字字符?
答案 0 :(得分:5)
您可以尝试
list_df <- mget(ls(pattern = "^df\\d+b$"))
这将使所有以df
开头并以b
结尾的对象。
答案 1 :(得分:2)
尝试一下:
list <- mget(ls(pattern = "^df[0-9]+b$"))
请注意,pattern
包含一个正则表达式:
^df
意味着您需要以df开头的元素。[0-9]+
表示至少应有一个数字(+
表示“一个或多个”)b$
意味着它应该以{{1}}结尾。答案 2 :(得分:2)
尝试:
list <- mget(ls(pattern = "df.*b"))