簡體   English   中英

根據條件匯總兩行之間的值

[英]Summarize values between two rows, according to criteria

我有這個 dataframe

我的 dataframe

其中“年齡”列中的值需要根據整個大小范圍進行匯總,即現在數據框如下所示:

     Size   Age 1   Age 2  Age 3
[1]    8      2       8      5
[2]   8.5     4       7      9
[3]    9      1       11     45
[4]   9.5     3        2      0

但我想要這個

       Size   Age 1   Age 2  Age 3
[1+2]   8      6       15     16  
[3+4]   9      4       13     45 

R用哪個function比較好?

我想但我沒有嘗試,將rowwise()與mutate()一起使用,但我不知道如何設置條件。

預先感謝您的幫助:)

您可以使用dplyr庫輕松完成此操作。 (如果你還沒有的話,你可能需要安裝install.packages("dplyr") 。)

使用 dplyr 函數,我們可以按新的分組列size進行分組,用向下舍入到最接近整數的值替換現有的size列。 然后我們只summarise across"Age" starts_with的列並對值sum

require(dplyr)

my_df |>
  group_by(size = floor(size)) |>
  summarise(
    across(starts_with("Age"), sum)
  )
        

暫無
暫無

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

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