簡體   English   中英

如何在 R dataframe 中聚合數據

[英]How do I aggregate data in a R dataframe

我有一個 dataframe 看起來像

Col A | Col B | Col C
  1       2       3
  2       4       5
  3       1       3
  4       2       3

我想改變我的 dataframe 以基於 col A 中的組聚合 Col B 和 Col C。col A 組是 <= 2 和 >2。

Col A | Col B | Col C
 <=2      6      8
  >2      3      6

我將如何 go 這樣做?

您可以嘗試aggregate + ifelse ,如下所示

aggregate(
  . ~ ColA,
  transform(
    df,
    ColA = ifelse(ColA <= 2, "<=2", ">2")
  ), sum
)

這使

  ColA ColB ColC
1  <=2    6    8
2   >2    3    6

data.table選項

> setDT(df)[, lapply(.SD, sum), .(ColA = ifelse(ColA <= 2, "<=2", ">2"))]
   ColA ColB ColC
1:  <=2    6    8
2:   >2    3    6

暫無
暫無

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

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