查找大多数数据落入 R 中(中位数/ CI?)的日期

问题描述 投票:0回答:1

我有一个数据集,其中包含一列日期(按周汇总的每日值)和一列代表鸟类死亡率的值。我需要找出大多数死亡发生的日期。由于调查工作的增加,这些值不呈正态分布,主要峰值出现在 7 月底。有些星期观察到的死亡率为零。

观察日期 价值
2022-05-08 4
2022-05-22 1
2022-05-29 5
2022-06-05 1
2022-06-12 10
2022-06-19 64
2022-06-26 4
2022-07-10 800
2022-07-17 300
2022-07-24 207
2022-07-31 3002
2022-08-07 2

我对 R 并不陌生,但我对统计分析显然很生疏。有人能指出我正确的方向吗?

我尝试过简单的事情:估计观察日期的中位数(使用EnvStats库中的

summary
summaryStats(DateObserved, quartiles=TRUE)[[7]]
)。但是在绘制随时间变化的值后,我认为得到的四分位数看起来不正确。另外,尝试拟合线性模型.

提前真诚感谢您的任何线索!

r date linear-regression median
1个回答
0
投票
library(tidyverse)
df_1 <- read_tsv(file="DateObserved Value
2022-05-08  4
2022-05-22  1
2022-05-29  5
2022-06-05  1
2022-06-12  10
2022-06-19  64
2022-06-26  4
2022-07-10  800
2022-07-17  300
2022-07-24  207
2022-07-31  3002
2022-08-07  2") |> mutate(dt=as.numeric(DateObserved))

dt_seq <- seq(from=min(df_1$dt),
              to = max(df_1$dt))

dt_seq_pretty_indx <- seq(from=min(df_1$dt),
                          to = max(df_1$dt),
                          length.out=6)
dt_seq_pretty <- seq(from=min(df_1$DateObserved),
                     to = max(df_1$DateObserved),
                     length.out=6)


plot(df_1$dt,
     df_1$Value, xaxt = "n")
axis(side=1,
     at = dt_seq_pretty_indx,
     labels=dt_seq_pretty)



myloess <- loess(Value ~ dt,df_1,span = 0.4)

pred <- predict(myloess,newdata = data.frame(dt=dt_seq))

lines(x=dt_seq,
      y=pred)

library(Hmisc)
wq <- wtd.quantile(x=dt_seq,
             weights = pred,
             probs = c(.25,.75))

abline(v=wq[1],col="blue")
abline(v=wq[2],col="blue")
print(as.Date(wq,origin="1970-01-01"))

© www.soinside.com 2019 - 2024. All rights reserved.