R 是否为列表中的每个数据帧添加后缀?
我有一个包含几个数据帧的列表。我想为每个数据帧的名称添加一个后缀,以便在调用函数时R 是否为列表中的每个数据帧添加后缀?,r,list,dataframe,R,List,Dataframe,我有一个包含几个数据帧的列表。我想为每个数据帧的名称添加一个后缀,以便在调用函数时 list2env() 并提取其名称之前添加了后缀的数据帧。 我该怎么做 样本数据 df1 <- as.data.frame(matrix(data = c(1,2,3))) df2 <- as.data.frame(matrix(data = c(1,2,3))) lst <- list(df1,df2) df1如果需要自动获取名为的列表,请在ls中使用mget和模式参数。在下面的代码中,
list2env()
并提取其名称之前添加了后缀的数据帧。
我该怎么做
样本数据
df1 <- as.data.frame(matrix(data = c(1,2,3)))
df2 <- as.data.frame(matrix(data = c(1,2,3)))
lst <- list(df1,df2)
df1如果需要自动获取名为的列表
,请在ls
中使用mget
和模式
参数。在下面的代码中,我们将获得名称以子字符串“df”开头(^
)后跟一个或多个数字(\\d+
)直到字符串结尾($
)的对象的值
lst1 <- mget(ls(pattern = '^df\\d+$'))
如果我们需要创建新对象,只需更改lst1
names(lst1) <- paste0(names(lst1), "_2018")
list2env(lapply(lst1, transform, new = V1 + 3), .GlobalEnv)
names(lst1)您可以创建一个命名列表list(df1=df1,df2=df2)
假设我想在列表中的数据帧中添加后缀:“_2018”,我该怎么做?创建列表时是否需要使用您提到的功能?@Pietro是将df1_2018、df2_2018添加为列表名称还是列名称names@Pietro你能检查一下更新的代码吗。希望它能帮助你,它能工作!谢谢我只使用了行:names(lst1)
names(lst1) <- paste0(names(lst1), "_2018")
list2env(lapply(lst1, transform, new = V1 + 3), .GlobalEnv)