gpt4 book ai didi

r - 比较 R 中各种数据框的列名

转载 作者:行者123 更新时间:2023-12-03 21:21:41 27 4
gpt4 key购买 nike

我目前正在尝试在进行任何转换和计算之前比较 R 中各种数据框的列类和名称。
我的代码如下所示:

library(dplyr)
m1 <- mtcars
m2 <- mtcars %>% mutate(cyl = factor(cyl), xxxx1 = factor(cyl))
m3 <- mtcars %>% mutate(cyl = factor(cyl), xxxx2 = factor(cyl))

out <- cbind(sapply(m1, class), sapply(m2, class), sapply(m3, class))

如果有人可以为存储在列表中的数据帧解决这个问题,那就太好了。我所有的数据帧目前都存储在一个列表中,以便于处理。
All.list <- list(m1,m2,m3)

我期望输出以矩阵形式显示,如数据框“out”中所示。 “out”中的输出是不可取的,因为它是不正确的。我希望输出更多如下:

enter image description here

最佳答案

试试 compare_df_cols()从看门人包:

library(janitor)
compare_df_cols(All.list)

#> column_name All.list_1 All.list_2 All.list_3
#> 1 am numeric numeric numeric
#> 2 carb numeric numeric numeric
#> 3 cyl numeric factor factor
#> 4 disp numeric numeric numeric
#> 5 drat numeric numeric numeric
#> 6 gear numeric numeric numeric
#> 7 hp numeric numeric numeric
#> 8 mpg numeric numeric numeric
#> 9 qsec numeric numeric numeric
#> 10 vs numeric numeric numeric
#> 11 wt numeric numeric numeric
#> 12 xxxx1 <NA> factor <NA>
#> 13 xxxx2 <NA> <NA> factor

它接受列表和/或名为 data.frames 的个人,即 compare_df_cols(m1, m2, m3) .

免责声明:我维护最近添加了此功能的管理员包 - 将其发布在这里,因为它正好解决了这个用例。

关于r - 比较 R 中各种数据框的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264993/

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