【发布时间】:2021-12-20 19:10:38
【问题描述】:
如果我的环境中有一个 dfs 列表,并且我想根据我创建的映射文件重命名它们,我该怎么做?
我的映射文件是这样的:
mapping<- structure(list(Tab = c("Study", "Score", "Level", "Level2",
"Level3", "level_Grouped"), DatasetName = c("Output3", "Output4",
"Output5", "Output6", "Output7", "Output3.g")), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
我正在考虑先获取列表中的输出,然后循环重命名过程。但我有点迷失在这个过程中。我应该使用什么来重命名 df?有人可以指导我吗?
output_list<-ls(pattern="^Output")
lapply(output_list, function(x)...)
谢谢。
【问题讨论】:
-
几乎总是,这个问题的答案是“如果你有一个数据框列表,那么你应该把它们放在一个实际的列表对象中”。这使您不必用
get()和assign()做丑陋和危险的事情。您只需执行names(my_list_of_dfs) <- ...并根据需要重命名它们。当然,在您的情况下,这可能是不可能的。如果是这样,get()和assign()确实是你的朋友。
标签: r