熱線電話:13121318867

登錄
首頁精彩閱讀R語言dplyr包中窗口函數應用!
R語言dplyr包中窗口函數應用!
2020-05-14
收藏

R語言中的dplyr包非常神奇,里面包含很多的函數,今天我們就來介紹下窗口函數的應用。


窗口函數應用


mtcars %>% group_by(cyl) %>% mutate(rank    = min_rank(desc(mpg)))

mtcars %>% group_by(cyl) %>% mutate(mpg_max = max(mpg))

原來的明細還保留,同時每個分組的統計值算出來了,是不是很方便

1.2 批量操作

同時若你嫌麻煩一個個地對變量進行操作,還可以使用mutate_each函數對數據框中的變量批量操作,通過調整funs(即functions)和vars(variables)參數控制functions的數量,以及參與變形的variables,這里控制variables的技巧與select函數相似。

#對每個變量進行排名

mtcars%>%mutate_each(funs(dense_rank)) 

 mpg cyl disp hp drat wt qsec vs am gear carb

1   16   2   13 11   16  9     6   1   2   2    4

2   16   2   13 11   16 12   10  1  2    2    4

3   19   1    6  6    15  7     22  2  2    2    1

4   17   2   16 11    5 16    24  2  1    1    1

5   13   3   23 15    6 18   10   1  1    1    2

#對disp的變量進行排名

mtcars%>%mutate_each(funs(dense_rank,min_rank),disp)

   mpg cyl  disp  hp drat    wt  qsec vs am gear carb dense_rank min_rank

1  21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4         13       13

2  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4         13       13

3  22.8   4 108.0  93 3.85 2.320 18.61  1   1    4    1          6          6

4  21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1         16       18

5  18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2         23       27

6  18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1         15       17

7  14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4         23        27

#對除了disp的變量進行排名

mtcars%>%mutate_each(funs(dense_rank,min_rank),-disp)

2、transmute

返回值中不包含原數據集變量,只保留計算轉換后的變量。

mtcars%>%mutate(wt_log=log(wt))

mtcars%>%transmute(wt_log=log(wt))

mtcars %>%mutate(displ_l = disp / 61.0237)

mtcars %>%transmute(displ_l = disp / 61.0237)

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢