Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么Zelig软件包根据型号规格的顺序模拟不同的类别?_R_Tidyverse_Simulate_R Zelig - Fatal编程技术网

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