大多数数据的发现日期(中位数/ CI?))在R中

sirbozc5  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(72)

我有一个数据集,其中包含一列日期(按周求和的每日值)和一列表示鸟类死亡率的值。我需要找出死亡率最高的日期。由于测量工作的增加,这些值不是正态分布的,在7月底有一个主要峰值。一些周观察到零死亡率。
| 观察日期|值|
| --|--|
| 2022-05-08 2022-05-08| 4 |
| 2022-05-22| 1 |
| 2022-05-29 2022-05-29 2022-05-29| 5 |
| 2022-06- 05 2022-06-05 2022-06-05| 1 |
| 2022-06- 12 2022-06-12 2022-06-12| 10 |
| 2022-06-19 2022-06-19 2022-06-19| 64 |
| 2022-06-26 2022-06-26| 4 |
| 2022-07-10 2022-07-10| 800 |
| 2022-07-17 2022-07-17| 300 |
| 2022-07-24 2022-07-24| 207 |
| 2022-07-31| 3002 |
| 2022-08-07| 2 |
我对R并不陌生,但我对统计分析显然生疏了。有人能给我指个方向吗?
我尝试了一些简单的事情:估计观察日期的中位数(使用EnvStats库中的summarysummaryStats(DateObserved, quartiles=TRUE)[[7]]。但是在绘制了这些值随时间的变化之后,我认为由此产生的四分位数看起来不正确。此外,尝试拟合线性模型。
衷心感谢您提前任何线索!

58wvjzkj

58wvjzkj1#

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"))

相关问题