У меня есть ежедневная смертность по всем причинам и стратифицирована различными категориями заболеваний, и мне хотелось выяснить, изменяются ли ассоциации между смертью и pm10 различными категории болезней. В данных примера смертность представляет собой общую ежедневную смерть, cvd те, кто умер из-за болезни сердца, а «другие» представляют собой все смертельные случаи, которые не связаны с сердечными заболеваниями. Чтобы моделировать ассоциации между pm10 и различными результатами, я использую следующие сценарии.Как настроить данные для использования термина взаимодействия в ежедневных временных рядах
m1<-gam(death ~ pm10 + s(trend)+ s(temp), data=df1, na.action=na.omit, family=poisson)
m2<-gam(cvd ~ pm10 + s(trend)+ s(temp), data=df1, na.action=na.omit, family=poisson)
m3<-gam(others ~ pm10 + s(trend)+ s(temp), data=df1, na.action=na.omit, family=poisson)
Для каждого дня смертельных исходов, из которых большинство из-за ССЗ. 1 января 1987 года было 130 смертей (65 случаев смерти от ССЗ и 65 из других причин). Моя цель - выяснить, есть ли разница в смерти в группе ССЗ и другие причины, связанные с воздействием ТЧ10. Вопрос исследования: имеет ли коэффициент смертности у пациентов с сердечно-сосудистыми заболеваниями и другими людьми, когда они подвергаются воздействию ТЧ10. В стратифицированном анализе я мог бы разделить данные на группу CVD и другую группу. Но в этой задаче мне интересно запустить модель с термином взаимодействия. Но я не мог понять, как это сделать. Я подумал о том, чтобы развернуть каждую строку дважды и создать фиктивную переменную для обеих групп (1 для других и 0 для CVD) и один столбец (newdeath), который содержит две строки для каждого дня, чтобы представлять смерть из-за других против CVD. При этом настройки (набор данных df2 показано ниже) Я хотел запустить следующий код:
minter<-gam(newdeath~ pm10*dummy + s(trend)+ s(temp), data=df2, na.action=na.omit, family=poisson)
Однако я не уверен, действительно ли дает мне эту форму данные и модель для достижения того, что я хотел.
Следующий код будет производить выборки набора данных
library(mgcv)
require(dlnm)
df <- chicagoNMMAPS
df <- chicagoNMMAPS
df1 <- df[,c("date","dow","death","cvd","temp","pm10")]
df1$trend<-seq(dim(df1)[1])
df1$others<-df1$death-df1$cvd # all other non-CVD deaths
Я рассмотрел следующую дату установить, чтобы решить эту проблему, но не уверены, правильно ли это.
> dput(df2)
structure(list(date = structure(c(6209, 6209, 6210, 6210, 6211,
6211, 6212, 6212, 6213, 6213), class = "Date"), dow = structure(c(5L,
5L, 6L, 6L, 7L, 7L, 1L, 1L, 2L, 2L), .Label = c("Sunday", "Monday",
"Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"), class = "factor"),
death = c(130L, 130L, 150L, 150L, 101L, 101L, 135L, 135L,
126L, 126L), cvd = c(65L, 65L, 73L, 73L, 43L, 43L, 72L, 72L,
64L, 64L), temp = c(-0.277777777777778, -0.277777777777778,
0.555555555555556, 0.555555555555556, 0.555555555555556,
0.555555555555556, -1.66666666666667, -1.66666666666667,
0, 0), pm10 = c(26.956073733, 26.956073733, NA, NA, 32.838694951,
32.838694951, 39.9560737332, 39.9560737332, NA, NA), trend = c(1L,
1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 5L), newdeath = c(65L, 65L,
77L, 73L, 58L, 43L, 63L, 72L, 62L, 64L), dummy = c(1, 0,
1, 0, 1, 0, 1, 0, 1, 0)), datalabel = "Written by R. ", time.stamp = "24 Mar 2015 00:00", .Names = c("date",
"dow", "death", "cvd", "temp", "pm10", "trend", "newdeath", "dummy"
), formats = c("%dD_m_Y", "%9.0g", "%9.0g", "%9.0g", "%9.0g",
"%9.0g", "%9.0g", "%9.0g", "%9.0g"), types = c(255L, 253L, 253L,
253L, 255L, 255L, 253L, 253L, 254L), val.labels = c("", "dow",
"", "", "", "", "", "", ""), var.labels = c("date", "dow", "death",
"cvd", "temp", "pm10", "trend", "others", ""), row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10"), version = 12L, label.table = structure(list(
dow = structure(1:7, .Names = c("Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"))), .Names = "dow"), class = "data.frame")
Вы должны объяснить, что вы подразумеваете под термином «взаимодействие» для pm10 и смертельных случаев с сердечной недостаточностью и без нее ». Я изначально думал, что вы просто новичок в mgcv и нуждаетесь в способе получить 2d, но после того, как вы посмотрите еще немного на набор данных, я думаю, вам нужна статистическая консультация. Но если вы можете четко объяснить, что этот «термин взаимодействия» должен измерять, я пересмотрю свое мнение. –
Я не уверен, что не следую ни тем, ни другим. Вы хотите моделировать взаимодействие между pm10 и что именно? –
@BondedDust и dominic, извините, что моя просьба не ясна. Я отредактировал сообщение более подробно. – Meso