如何在数据帧的变量标签中搜索字符串,并在R中返回一个包含所有这些变量的向量

问题描述 投票:0回答:1

因此,我基本上有一个TIMSS数据的数据框,其中包含大量与数学或科学相关的变量,我想删除与数学相关的任何内容。列名有些含糊,因此仅通过查看就很难分辨每个变量代表什么。幸运的是,变量标签是描述性的。我想做这样的事情:

#dplyr syntax:
new_df <- df %>% select( -contains(hmisc::label(.) == "MATH" ) )

我该如何使用它?

r select dplyr label
1个回答
0
投票

您的意思是这样的?

library(Hmisc)
library(dplyr)

# put a label on
Hmisc::label(mtcars$mpg) <- "Miles per Gallon"

mtcars %>% select_if(.predicate = Hmisc::label(.) == "Miles per Gallon")
#>                      mpg
#> Mazda RX4           21.0
#> Mazda RX4 Wag       21.0
#> Datsun 710          22.8
#> Hornet 4 Drive      21.4
#> Hornet Sportabout   18.7
#> Valiant             18.1
#> Duster 360          14.3
#> Merc 240D           24.4
#> Merc 230            22.8
#> Merc 280            19.2
#> Merc 280C           17.8
#> Merc 450SE          16.4
#> Merc 450SL          17.3
#> Merc 450SLC         15.2
#> Cadillac Fleetwood  10.4
#> Lincoln Continental 10.4
#> Chrysler Imperial   14.7
#> Fiat 128            32.4
#> Honda Civic         30.4
#> Toyota Corolla      33.9
#> Toyota Corona       21.5
#> Dodge Challenger    15.5
#> AMC Javelin         15.2
#> Camaro Z28          13.3
#> Pontiac Firebird    19.2
#> Fiat X1-9           27.3
#> Porsche 914-2       26.0
#> Lotus Europa        30.4
#> Ford Pantera L      15.8
#> Ferrari Dino        19.7
#> Maserati Bora       15.0
#> Volvo 142E          21.4
© www.soinside.com 2019 - 2024. All rights reserved.