探索数据框并在R中提供编号的变量列表

时间:2019-06-05 19:17:15

标签: r

在R中工作时,我发现自己经常尝试使用变量号对数据集进行子集化或套用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()和{ {1}}),但是每个变量名旁边都有一个数字来指示其位置?

glimpse()是部分解决方案,因为生成的chr向量具有一些编号,但远没有colnames()str()之类的有用。

1 个答案:

答案 0 :(得分:2)

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

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 package(v0.3.0)于2019-06-05创建