簡體   English   中英

如何計算 R 中 95 個百分位數的中位數和平均值

[英]How to calculate a median and mean of 95 percentile in R

我的數據集包含不同物種(aapl2)的多個觀察結果(平均強度 gfp)。 每個物種都有幾個觀察值。

我已經將觀察結果按物種分組並計算了 95%:

數據2 =聚合(數據$“平均強度gfp”~數據$aapl2,樂趣=分位數,概率=c(0.95))。

但是現在,我有問題,我不知道如何解決。 我需要計算 95 percentile 的中位數和平均值,但我真的不知道該怎么做。

有人可以幫我嗎?

非常非常感謝你

如果您的意思是獲得估計的 95 個百分位數的平均值和中位數,那么

mean(data2)
median(data2)

您可能需要更改為tapply()

data2 <- tapply(iris$Petal.Length, iris$Species, quantile, probs = c(0.95))

或切換到 dplyr 方法

library(dplyr)
iris %>% 
  group_by(Species) %>%
  summarize("q" = quantile(Petal.Length, 0.95)) %>% 
  ungroup() %>%
  summarize("mean"=mean(q), "med"=median(q))

或 data.table 方法(我會使用這個)

library(data.table)
data.table(iris)[, quantile(Petal.Length, 0.95), by = Species][, 
  .(mean(V1), median(V1))]

獲得那些值低於第 95 個百分位(其物種)的平均值/中位數

data.table(iris)[, keep := Petal.Length < quantile(Petal.Length), 
                   by = Species][
                   keep==TRUE, 
                   .(mean(Petal.Length), median(Petal.Length)), 
                   by = Species]

暫無
暫無

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

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