R 为什么Zelig软件包根据型号规格的顺序模拟不同的类别?
我有强制住院的登记资料。 强制住院的风险因年龄和性别而异。 我想描述一下在控制了这些风险因素后的地理变异,我希望以人口为偏移量的泊松回归能够达到这个目的(或类似的效果) 在第一个场景中,只有最小年龄的数字才是我所期望的运行次数R 为什么Zelig软件包根据型号规格的顺序模拟不同的类别?,r,tidyverse,simulate,r-zelig,R,Tidyverse,Simulate,R Zelig,我有强制住院的登记资料。 强制住院的风险因年龄和性别而异。 我想描述一下在控制了这些风险因素后的地理变异,我希望以人口为偏移量的泊松回归能够达到这个目的(或类似的效果) 在第一个场景中,只有最小年龄的数字才是我所期望的运行次数 Model2 <- zelig(compulsion ~ sex * age_cat + area, offset = log(population), model = "poisson", data=testd
Model2 <- zelig(compulsion ~ sex * age_cat + area, offset = log(population),
model = "poisson", data=testdata)
x.lo2 <- setx(Model2, area="2Uq", sex = "male", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
x.hi2 <- setx(Model2, area="2Uq", sex = "female", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
s.out2 <- sim(Model2, x = x.lo2, x1=x.hi2, n=100000) %>% zelig_qi_to_df()
summary(s.out2)
在第二个场景中,年龄类别按预期进行模拟,但现在性别变量已关闭。这完全是通过改变型号规格的顺序来实现的
有人能帮我理解这里发生了什么吗
library(tidyverse)
library(Zelig)
set.seed(667)
testdata <- data.table::data.table(compulsion = rpois(780, 5),
area = as.factor(sample(stringi::stri_rand_strings(65, 3, pattern = "[A-Za-z0-9]"))),
sex = as.factor(c(rep("male",6), rep("female",6))),
age_cat = as.factor(rep(c("18-25","26-33","34-41","42-49","50-57","58-65"),65)),
population = sample(500:15000, 780, replace=TRUE))
Model <- zelig(compulsion ~ age_cat * sex + area, offset = log(population),
model = "poisson", data=testdata)
x.lo <- setx(Model, area="2Uq", sex = "male", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
x.hi <- setx(Model, area="2Uq", sex = "female", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
s.out <- sim(Model, x = x.lo, x1=x.hi, n=100000) %>% zelig_qi_to_df()
summary(s.out)
age_cat
18-25:200000
26-33:100000
34-41:100000
42-49:100000
50-57:100000
58-65:100000
NA's :500000
sex
female:600000
male :600000
Model2 <- zelig(compulsion ~ sex * age_cat + area, offset = log(population),
model = "poisson", data=testdata)
x.lo2 <- setx(Model2, area="2Uq", sex = "male", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
x.hi2 <- setx(Model2, area="2Uq", sex = "female", age_cat = c("18-25","26-33","34-41","42-49","50-57","58-65"))
s.out2 <- sim(Model2, x = x.lo2, x1=x.hi2, n=100000) %>% zelig_qi_to_df()
summary(s.out2)
sex
female:600000
male :100000
NA's :500000
age_cat
18-25:200000
26-33:200000
34-41:200000
42-49:200000
50-57:200000
58-65:200000