bod*_*a18 4 r data-manipulation dplyr janitor
我希望能够循环访问环境中的多个对象,并对每个数据帧进行一些数据清理。有没有更有效的方法可以在 1 次调用中完成我在下面所做的事情?
df1 %>%
clean_names()
df2 %>%
clean_names()
df3 %>%
clean_names()
etc.
Run Code Online (Sandbox Code Playgroud)
基础R
library(janitor) # for clean_names function
dfs <- Filter(function(x) is(x, "data.frame"), mget(ls()))
lapply(dfs, clean_names)
Run Code Online (Sandbox Code Playgroud)
除了 akrun\xc2\xb4s 答案之外,您还可以按类过滤全局环境中的对象。\n我建议您将更新的数据帧存储在列表中,而不是全局环境中,但如果您希望可以使用list2env.
library(purrr)\n\nmget(ls()) %>%\nkeep(is.data.frame) %>%\nmap(janitor::clean_names) %>%\n##(DISCLAIMER - this replaces the original data.frames in your global environment, and could be dangerous:)\nlist2env(envir = .GlobalEnv)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |