我有一个数据集,其中包含一列日期(按周汇总的每日值)和一列代表鸟类死亡率的值。我需要找出大多数死亡发生的日期。由于调查工作的增加,这些值不呈正态分布,主要峰值出现在 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]]
)。但是在绘制随时间变化的值后,我认为得到的四分位数看起来不正确。另外,尝试拟合线性模型.
提前真诚感谢您的任何线索!
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"))