R 数据的预处理:删减不需要的资料

699 阅读2分钟

R的数据处理很常用的package“dplyr”里面select( )常被用来做数据的删减

1. select( ) 的用法

以mtcars数据集为例

head(mtcars,3)
# mpg cyl disp hp drat wt qsec vs am gear carb
# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1

删减不需要的数据字段 假设不需要用到mpy,hp这两个字段

mtcars1=select(mtcars,-c(“mpg”,“hp”))
head(mtcars1,3)
# cyl disp drat wt qsec vs am gear carb
# Mazda RX4 6 160 3.90 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 6 160 3.90 2.875 17.02 0 1 4 4
# Datsun 710 4 108 3.85 2.320 18.61 1 1 4 1

假设需要mpg到wt的数据但是不需要cyl和hp这两个字段

mtcars2=select(mtcars,mpg:wt,-c(“cyl”,“hp”))
head(mtcars2,3)
# mpg disp drat wt
# Mazda RX4 21.0 160 3.90 2.620
# Mazda RX4 Wag 21.0 160 3.90 2.875
# Datsun 710 22.8 108 3.85 2.320

2. select( ) 的子函数

select还有很多非常好用的子函数

  • starts_with();
  • ends_with();
  • contains();
  • matches();
  • num_range();
  • one_of();
  • everything()

找出字段中所有以“c”开头的columns

mtcars3 = select(mtcars,starts_with(“c”))
head(mtcars3,3)
# cyl carb
# Mazda RX4 6 4
# Mazda RX4 Wag 6 4
# Datsun 710 4 1

删掉字段名称中有“ar”的columns

mtcars4 = select(mtcars,-contains(“ar”))
head(mtcars4,3)
#原始mpg cyl disp hp drat wt qsec vs am gear carb
# mpg cyl disp hp drat wt qsec vs am
# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1
# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1

可以看出“ar”是一整个的字符串,所以字母顺序需要注意,有“ra”就被保留下来了 其他的几个子函数的用法也类似starts_with( )

一个无聊的数据分析公众号,时常有一些脑洞的实例分析。 让我们一起学习,打通各种技能!

本文由博客一文多发平台 OpenWrite 发布!