[英]Aggregate function in R
我是 R 的新手,因此很難弄清楚如何使用聚合函數從數據框中檢索字段/列的完整列表。
例如,我有一個包含 200 多個字段的數據框 df。 現在,我想對特定字段 df.a 上的數據框進行分組,然后按另一個字段 df.b 排序。 但是,在輸出數據框中,我希望每一行都包含所有 200 多個字段,而不僅僅是 df.a 和 df.b 字段。
請幫助我了解如何實現這一目標。
您可以編寫自己的函數,但最好使用已經編寫、調試和性能調優的函數。 包dplyr
非常適合這類事情。
我發現自己經常寫如下幾行:
df %>% group_by(a) %>% arrange(b) %>% summarise(total = sum(b))
其中df
是我的數據框, group_by
是按特定列(或列集)對行進行分組的函數,而arrange
是按列(或列集)對行重新排序的函數。 summarise
是一種執行聚合和生成數據匯總的方法。 %>%
是“管道”運算符,用於將左側表達式的結果作為第一個參數提供給右側函數,而不是編寫多個難以讀取的嵌套調用或創建中間一次性變量。
希望這對您有所幫助或給您一些更好的想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.