因此,我基本上有一个TIMSS数据的数据框,其中包含大量与数学或科学相关的变量,我想删除与数学相关的任何内容。列名有些含糊,因此仅通过查看就很难分辨每个变量代表什么。幸运的是,变量标签是描述性的。我想做这样的事情:
#dplyr syntax:
new_df <- df %>% select( -contains(hmisc::label(.) == "MATH" ) )
我该如何使用它?
您的意思是这样的?
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