【问题标题】:how to rename multiple df that in the environment at once如何一次重命名环境中的多个df
【发布时间】: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) &lt;- ... 并根据需要重命名它们。当然,在您的情况下,这可能是不可能的。如果是这样,get()assign() 确实是你的朋友。

标签: r


【解决方案1】:

我认为这是不可能的,因为您不能在 R 中重命名 data.frame。 更多信息在这里:How can I change the name of a data frame

【讨论】:

  • 是不是不用一个个手动写就可以达到mapping$Tabmapping$DatasetName的目标?
  • 也许有解决方法,但我不确定。我尝试了一些事情,但没有做到你想要的
猜你喜欢
  • 2016-09-16
  • 1970-01-01
  • 2017-07-03
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 2011-10-05
  • 2022-01-26
  • 2021-05-15
相关资源
最近更新 更多