首页 > 解决方案 > 探索数据框并提供 R 中的变量编号列表

问题描述

在 RI 工作时发现自己经常尝试使用变量编号对数据集进行子集化或使用 lapply。

例如在一个虚构的数据框中:df; 为了改变变量1、4、6、7、8、9、10、11、12、15、18的类别;我会使用数字:

df[,c(1,4,6:12,15,19)] <- lapply(df[,c(1,4,6:12,15,19)], as.numeric)

当数据框非常大时,尝试从str()或计算变量的索引号glimpse()可能非常困难。

因此,我想知道是否有一种方法可以生成数据集中包含的变量的表示形式,指示它们的名称、它们的类以及理想情况下的一些条目(如str()and的情况glimpse()),但每个条目旁边都有一个数字变量名表示它的位置?

colnames()是一个部分解决方案,因为生成的 chr 向量有一些编号,但不像str()or那样有用glimpse()

标签: r

解决方案


如果你真的想要只显示列名、索引和类的东西,你可以编写自己的包装器(并根据需要更改打印输出)。

custom_glimpse <- function(df) {
  data.frame(
    col_name = colnames(df),
    col_index = 1:ncol(df),
    col_class = sapply(df, class),
    row.names = NULL
  )
}
custom_glimpse(mtcars)
#>    col_name col_index col_class
#> 1       mpg         1   numeric
#> 2       cyl         2   numeric
#> 3      disp         3   numeric
#> 4        hp         4   numeric
#> 5      drat         5   numeric
#> 6        wt         6   numeric
#> 7      qsec         7   numeric
#> 8        vs         8   numeric
#> 9        am         9   numeric
#> 10     gear        10   numeric
#> 11     carb        11   numeric

reprex 包(v0.3.0)于 2019 年 6 月 5 日创建


推荐阅读