[R] Need help with writing survey design for multilevel analysis
Love Umesi
yugoh|@v @end|ng |rom gm@||@com
Wed Jan 26 03:07:52 CET 2022
Hello,
I am new in using R, and I need to run a multilevel analysis (on two
levels) using Cox frailty survival model on a survey data (Nigeria
Demographic and Health Survey Data).
My problem is how to write the design weight using the two weights needed
and apply them to the analysis.
I have identified the needed variables for the survey design, which are :
psu/cluster=~v021
individual-level weight=~wt1_1
cluster-level weigh=~wt2_1
strata/stratum=~v022
Please can someone help me with the survey design (svydesign) code and how
to include it and the weights in a model.
I have tried to generate a minimum reproducible data
To view the minimum reproducible data: datapasta::df_paste (head(rcom2018,
10)[, c('pid', 'study_time', 'died', 'v021', 'v022', 'wt2_1', 'wt1_1',
'v024', 'v025', 'mat_edu')])
I understand I have to use svycoxph in the model. Please how do I include
survey design and account for the 2 weights in the gamma frailty model
below?
Frailty1 <- coxph (Surv(study_time, died) ~ factor(v024) + factor(mat_edu)
+ v025 + frailty(v021,distribution="gamma"), data=rcom2018)
Really looking forward to your help as my project is hanging on this.
Many thanks.
Love Umesi
library(survey)#> Warning: package 'survey' was built under R version
4.0.5#> Loading required package: grid#> Loading required package:
Matrix#> Loading required package: survival#> Warning: package
'survival' was built under R version 4.0.5#> #> Attaching package:
'survey'#> The following object is masked from 'package:graphics':#>
#> dotchart
library(survival)
rcom1 <- data.frame(
pid = c(1,2,3,4,
5,6,7,8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,28,29,
30,31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50),
study_time = c(13,9,17,
31,39,22,24,0,23,12,9,35,18,20,60,
18,5,46,26,54,37,51,31,55,27,15,39,6,
29,0,9,40,23,12,35,56,14,40,57,42,
5,42,39,39,54,19,52,42,7,28),
died = c(0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
v021 = c(1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,
3,3,3,3,3,3,3,3,3,3,3,3,3,4,4),
v022 = c("1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1"),
v012 = c(40,37,27,
27,24,32,35,35,34,20,28,28,26,24,24,
25,26,26,26,26,28,27,25,25,27,26,
26,21,21,31,36,36,27,23,32,32,33,33,
33,28,25,37,33,34,33,28,28,29,33,33),
wt2_1 =
c(401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031,
401.200012207031,401.200012207031,
401.200012207031,401.200012207031,401.200012207031),
wt1_1 =
c(2.5074667930603,2.5074667930603,2.5074667930603,
2.5074667930603,2.5074667930603,2.5074667930603,
2.5074667930603,2.5074667930603,2.5074667930603,
2.5074667930603,2.5074667930603,
2.5074667930603,2.5074667930603,2.5074667930603,
2.5074667930603,5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,5.1194109916687,
5.1194109916687,5.1194109916687,
5.1194109916687,2.40910983085632,2.40910983085632,
2.40910983085632,2.40910983085632,2.40910983085632,
2.40910983085632,2.40910983085632,
2.40910983085632,2.40910983085632,2.40910983085632,
2.40910983085632,2.40910983085632,2.40910983085632,
2.40910983085632,1.06203985214233,
1.06203985214233),
v024 = c("1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1"),
v025 = c("1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1","1",
"1","1","1","1","1","1","1","1","1",
"1"),
mat_edu = c("5","5",
"5","4","4","5","4","4","4","4","4","4",
"5","5","5","5","5","5","4","4","5",
"4","4","4","5","3","3","4","4","5",
"5","5","5","4","2","2","0","0","0","5",
"5","0","1","5","5","3","3","5","5",
"5")
)
Frailty1 <- coxph (Surv(study_time, died) ~ factor(v024) +
factor(mat_edu) + v025 + frailty(v021,distribution="gamma"),
data=rcom1)#> Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 +
isOF[nn]]): contrasts can be applied only to factors with 2 or more
levels
[[alternative HTML version deleted]]
More information about the R-help
mailing list