[英]R - how to split into terciles during group_by
假設我們要根據萼片寬度的 tercile 組計算萼片長度的平均值。
我們可以使用fabricatr
package 中的split_quantile
function 並執行以下操作:
iris %>%
group_by(split_quantile(Sepal.Width, 3)) %>%
summarise(Sepal.Length = mean(Sepal.Length))
到目前為止,一切都很好。 現在,假設我們想要group_by(Species, split_quantile(Sepal.Width, 3))
而不僅僅是group_by(split_quantile(Sepal.Width, 3))
。
但是,如果我們希望在每個物種類型內部而不是一般情況下計算三分位數怎么辦?
基本上,我正在尋找的可以通過基於Species
將iris
拆分為幾個數據幀來實現,在這些數據幀上使用split_quantile
來計算三分位數,然后將數據幀重新連接在一起。 但是,我正在尋找一種不拆分 dataframe 的方法。
您已經在文本中寫下了答案,但是您可以在按物種分組后為 tercile 創建一個新變量,然后使用Species
和Tercile
重新組合。
library(tidyverse)
library(fabricatr)
iris %>%
group_by(Species) %>%
mutate(Tercile = split_quantile(Sepal.Width, 3)) %>%
group_by(Species, Tercile) %>%
summarise(Sepal.Length = mean(Sepal.Length))
#> # A tibble: 9 x 3
#> # Groups: Species [3]
#> Species Tercile Sepal.Length
#> <fct> <fct> <dbl>
#> 1 setosa 1 4.69
#> 2 setosa 2 5.08
#> 3 setosa 3 5.27
#> 4 versicolor 1 5.61
#> 5 versicolor 2 6.12
#> 6 versicolor 3 6.22
#> 7 virginica 1 6.29
#> 8 virginica 2 6.73
#> 9 virginica 3 6.81
由代表 package (v0.3.0) 於 2020 年 5 月 27 日創建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.