本節(jié)來介紹dplyr中的行選擇函數(shù)slice,此函數(shù)可輕松的按照索引對(duì)行進(jìn)行處理
library(tidyverse)
iris %>% as_tibble() %>% slice(1:3)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <fct>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
取前3行
filter(iris,row_number() == 1:3L)
取第三行至最后一行
iris %>% as_tibble() %>% slice(3:n())
取第5行至最后一行
filter(iris,between(row_number(),5,n()))
取最后一行
iris %>% as_tibble() %>% slice(n())
取前5行
iris %>% as_tibble() %>% slice_head(n = 5)
取最后5行
iris %>% as_tibble() %>% slice_tail(n = 5)
將第一行至第四行從數(shù)據(jù)中剔除
iris %>% as_tibble %>% slice(-(1:4))
取出Sepal.Width列最小的一行
iris %>% as_tibble() %>% slice_min(Sepal.Width,n=1)
iris %>% as_tibble() %>% slice_max(Sepal.Width,n=3)
若有重復(fù)值加 with_ties=FALSE 只取一行
mtcars %>% slice_min(cyl,n=1,with_ties=FALSE)
slice_sample 隨機(jī)無重復(fù)抽樣
iris %>% as_tibble() %>% slice_sample(n = 5)
slice_sample 隨機(jī)有重復(fù)抽樣
iris %>% as_tibble() %>% slice_sample(n = 5, replace = TRUE)
每組只取2行
iris %>% group_by(Species) %>% slice_head(n = 2)
pro=0.5 表示按分組只取每組內(nèi)一半的數(shù)據(jù)
iris %>% group_by(Species) %>% slice_head(prop = 0.5)
保留全部數(shù)據(jù)
iris %>% group_by(Species) %>%
slice(which.max(Sepal.Length)
iris數(shù)據(jù)集有150行,上述代碼只取75行
歡迎關(guān)注我的公眾號(hào)
R語言數(shù)據(jù)分析指南
本公眾號(hào)主要分享數(shù)據(jù)可視化的一些經(jīng)典案例及一些生信相關(guān)的知識(shí)供大家學(xué)習(xí)