R語言基礎(chǔ)入門(6) slice根據(jù)索引按行操作數(shù)據(jù)

本節(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í)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容