在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()
之类的有用。
答案 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创建