gpt4 book ai didi

r - R 中的清理列名

转载 作者:行者123 更新时间:2023-12-05 02:29:50 24 4
gpt4 key购买 nike

我在 R 中有以下代码,它组合了多个 (177) csv 文件。然而,在很多文件中,一些列名有空格,而其他列名有下划线作为分隔符,例如“文章编号”和“文章编号”。我在代码中尝试了 janitor::make_clean_names 和 make.names 等,但我就是想不出正确的方法。

非常感谢任何帮助

df <- list_of_files %>%
set_names() %>%
map_dfr(
~read_csv(.x, col_types = cols(.default = "c", 'TY Stock Value' = "c"), col_names = TRUE,),
.id = "file_name"
)

最佳答案

您可以将其添加到 map_dfr 函数中,以便每个列在绑定(bind)在一起之前先进行协调。

df <- list_of_files %>%
set_names() %>%
map_dfr(~ .x %>%
read_csv(.,
col_types = cols(.default = "c", "TY Stock Value" = "c"),
col_names = TRUE
)
%>%
janitor::clean_names(),
.id = "file_name"
)

编辑:逐步

有几种方法可以告诉 map 使用哪个函数。~ 运算符创建一个公式(或者更好的是我启动了一个匿名函数),即函数的快捷方式。该函数的参数是 .x ,在您的情况下是一个 csv 文件名。此文件名通过管道发送到 read_csv 函数。我在那里使用了占位符 . 来告诉函数将它放在哪里。然后它将数据读入 R,然后将其发送到 clean_names 函数以协调名称。最后,您从 map_dfr 函数中添加 .id。这就是所有的 purrr 魔法 :)

关于r - R 中的清理列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72014677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com