上面介紹完dplyr中,幾個主要的操作函數后,我們再進一步了解dplyr中那些函數可能我們會經常要用到。
這里主要根據dplyr包作者的書籍目錄來把它列出來。
1、add_rownames 添加行名稱,把數據轉換成列。
add_rownames(df, var = "rowname")
下面來看個具體的例子
head(mtcars)
add_rownames(mtcars,var="bl")
已經把原來的行數據轉成列數據了。
2、between()函數可以用於選取數據范圍
between(x, left, right)
參數left,right表示數據左邊和右邊范圍。
a<-10:30 between(a,5,15)
可以看到between函數返回結果是邏輯值,即那些數據滿足條件,標記為TRUE
a[between(a,5,15)]
通過加中括號的形式,把正確結果顯示出來。
3、bind()函數用於合並數據
bind_rows(..., .id = NULL)
bind_cols(...)
combine(...)
存在三種形式的合並數據。
head(mtcars,15)
a <- mtcars[1:3, ] b <- mtcars[11:13, ]
bind_rows(a,b)
可以看到上面1-3行和11-13行數據被合並成一個新的數據集。
bind_rows(list(a, b), .id = "id")
為了區別數據是分別來至於兩個其他數據庫,可以用id進行區別。
bind_rows(list(aa = a, bb = b), .id = "id")
可以對id用其他名稱進行標識。
aa<-data.frame(x=1:5,y=c("a","b","c","d","e")) bb<-data.frame(x=11:15) bind_rows(aa,bb)
可以看到數據框如果存在相同變量,則bb的數據是接着aa的數據繼續向下填充,否則用NA值進行填充。
bind_cols(a,b)
可以看到,進行列合並時,是直接在第一組數據后面列出第二組數據。
combine(aa,bb)
combine函數是直接把每個數據的每個變量直接抽離,然后以數組的形式呈現。
相對而言,以上三個合並函數中,bind_rows()會用的比較多。