library(dplyr)或者
library(tidyverse)
dat<-mtcars
tidyverse是整合包,里面包含dplyr以及其他基础包。
1. filter 筛选行
筛选gear等于5的行
dat1<-filter(dat,gear==5)
table(dat1$gear)
筛选gear不等于3的行(去除gear等于3的行)
dat2<-filter(dat,gear!=3)
table(dat2$gear)
筛选gear等于3和5的行
dat3<-filter(dat,gear %in% c(3,5))
table(dat3$gear)
2. select 筛选列
筛选am列
dat.1<-select(dat,am)筛选am和vs列
dat.2<-select(dat,am,vs)
dat.2<-select(dat,c(am,vs))
重排mpg,am,vs列,其他列保持不变。
dat.3<-select(dat,mpg,vs,am,everything())去除gear列
dat.4<-select(dat,-gear)
3. slice 切割
切割并提取1-5行
dat.3.1<-slice(dat,1:5)筛选mpg最大的三行(由于第三大的数有两个,所以筛选出了四行)
dat.3.2<-slice_max(dat,mpg,n=3)
4. arrange 排列
mpg列由低到高进行重排
dat.4.1<-arrange(dat,mpg)mpg列由高到低进行重排
dat.4.2<-arrange(dat,desc(mpg))
5. rename 重命名
重命名mpg列为new
dat.5.1<-rename(dat,new=mpg)重命名mpg列为油耗(可以命名为中文)
dat.5.2<-rename(dat,油耗=mpg)
6. mutate 重新生成新列
新生成一个列,叫new,数值为mpg*gear
dat.6.1<-mutate(dat,new=mpg*gear)
7. distinct 去重(保留遇到的第一个)
这种只会保留mpg一个列,若需保留其他所有列,则添加.keep_all = T。
dat.7.1<-distinct(dat,mpg)
dat.7.2<-distinct(dat,mpg,.keep_all = T)
8. group_by + summrise
按gear的数值分组,并且计算每组的平均值和方差
dat.8.1<-dat %>% group_by(gear) %>% summarise(平均值=mean(mpg),var=var(mpg))
9. %>%管道符的使用
dat.9.1<- dat %>% select(vs,am,mpg,hp) %>% rename(油耗=mpg) %>% filter(vs==1)%>%
arrange(油耗)%>% slice_max(油耗,n=5)