data1 <- read.csvcsv",header=T
data1 <- data1[with(data1
该回答引用GPT
library(dlnm)
library(tidyverse)
# 读取数据
data0 <- read.csv("data0.csv")
data1 <- read.csv("data1.csv")
# 计算每个县区平均人口密度
adensity <- data0 %>%
group_by(ZONECODE) %>%
summarize(adensity = mean(den2015, den2016, den2017, den2018, den2019))
# 将adensity和data1按ZONECODE关联
data <- left_join(data1, adensity, by = "ZONECODE")
# 计算第1四分位和第4四分位
q1 <- quantile(data$adensity, 0.25)
q4 <- quantile(data$adensity, 0.75)
# 多元DLNM
mdl <- dlnm(data = data, formula = PM25 ~ s(time, k = 5) + s(tmp, k = 5) + s(wind, k = 5) + s(adensity, k = 5),
cross = c("adensity"), lag = 3, season = "ns", timeSlices = 10)
# 可视化
plot(mdl, var = "adensity", lag = 3, q1 = q1, q4 = q4, main = "DLNM for adensity")
# Z检验
ztest <- dlnm:::dl.ztest(mdl, var1 = "adensity", var2 = NULL, lag = 3, q1 = q1, q4 = q4, maxLag = 7, df = Inf)
ztest
我看到以下几个问题:
r
library(dlply)
library(dplyr)
library(dlnm)
library(imputeTS)
library(splines)
write.csv(data1,"D:/DLNM_cumulative/cumulative.csv") 这一行注释掉了,要么删除要么取消注释
mutate(lag.value1 = dplyr::lag(rate, n = 1, default = NA)) 中 rate 应该改为 number,例如:
r
data1<-data1 %>% group_by(ZONECODE) %>% mutate(lag.value1 = dplyr::lag(number, n = 1, default = NA))
r
model1 = glm(rate ~cb1.HTEM +cb1.RHU+cb1.PRS+cb1.PRE +ns(ID.month,5*1)+factor(region)+offset(log(population/10))+lag.value1,family=quasipoisson(), data1)
其他一些地方出现的 number 也应改为 rate,如 crall <- crossreduce(cb1.HTEM,model1,cen=round(median(data1$number))) 中的 number
考虑将 Babesiosis 全称写出,如: Babesiosis incidence