我试图用图形表示我们收集的蚊子的中位捕捉时间(MCT)。 MCT 代表 50% 的疟疾病媒感染人类的时间。 例如,我们收集了这个样本:
Hour of collection / Mosquitoes number:
20H-21H = 1
21H-22H = 1
22H-23H = 2
23H-00H = 2
00H-01H = 13
01H-02H = 10
02H-03H = 15
03H-04H = 15
04H-05H = 8
05H-06H = 10
06H-07H = 6
此处累计有效蚊子数量为 83 只。我假设该蚊子系列的中位数为 (83+1)/2 = 42,从而得出中位数捕捉时间为凌晨 2 点 (02H-03H)。
我尝试使用具有不同参数的函数“boxplot”,但我无法代表我想要的。事实上,当我想要表示收集时间内的累积有效值时,我为每个小时的收集都有框。其中使用的时间范围为“20H-21H”= 20、“21H-22H”= 21 等
我找到了一篇文章(Nicolas Moiroux,2012),它以图形方式表示了预期的 MCT。我在这里复制引用的箱线图的图像:
预先感谢您的帮助。
亲切的问候。
PS,这是我迄今为止使用的代码(其中“Eff”=蚊子数量,“Heure”=收集时间):
sum(Eff)
as.factor(Heure)
tapply(Eff,Heure,median)
tapply(Heure,Eff,median)
boxplot(Eff,horizontal=T)
boxplot(Heure~Eff)
boxplot(Eff~Heur))
您需要使用一个技巧,因为您已经有了计数,而不是每次捕获的时间数据。
首先,将时间值转换为更连续的变量,然后生成包含所有时间值的向量,然后绘制箱线图(带有自定义轴)。
txt <- "20H-21H = 1
21H-22H = 1
22H-23H = 2
23H-00H = 2
00H-01H = 13
01H-02H = 10
02H-03H = 15
03H-04H = 15
04H-05H = 8
05H-06H = 10
06H-07H = 6"
dat <- read.table(text = txt, sep = "=", h = F)
colnames(dat) <- c("collect_time", "nb_mosquito")
# make a continuous numerical proxy for time
dat$collect_time_num <- 1:nrow(dat)
# get values of proxy according to your data
tvals <- rep(dat$collect_time_num, dat$nb_mosquito)
# plot
boxplot(tvals, horizontal = T, xaxt = "n")
axis(1, labels = as.character(dat$collect_time), at = dat$collect_time_num)
输出以下图: