簡體   English   中英

試圖理解dplyr函數 - group_by

[英]Trying to understand dplyr function - group_by

我試圖理解group_by函數在dplyr工作方式。 我正在使用數據datasets鏈接附帶的airquality數據集。

我理解如果我執行以下操作,它應該按Temp變量的遞增順序排列記錄

airquality_max1 <- airquality %>% arrange(Temp)

我看到airquality_max1就是這種情況。 我現在想通過增加的順序排列記錄Temp ,而是由分組Month 因此,最終結果應該首先按照Temp增加順序包含Month == 5所有記錄。 然后它應該按照Temp增加順序包含Month == 6所有記錄,依此類推,所以我使用以下命令

airquality_max2 <- airquality %>% group_by(Month) %>% arrange(Temp)

不過,我發現的是,結果仍然是增加的順序Temp只,而不是按分組Month ,即airquality_max1airquality_max2是相等的。

我不知道為什么被分組Month不會在發生之前arrange的功能。 任何人都可以幫我理解我在做錯了嗎?

嘗試按列對數據框進行排序的問題不僅僅是我試圖理解group_by的行為,因為我試圖用它來解釋group_by的應用程序。

arrange忽略group_by ,見盈虧變化的dplyr 0.5.0。 如果您需要按兩列排序,您可以:

airquality %>% arrange(Month, Temp)

對於分組數據框,您還可以使用.by_group變量首先按組變量進行排序

airquality %>% group_by(Month) %>% arrange(Temp, .by_group = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM