1 2library(survey) 3library(RSQLite) 4 5data(api) 6apiclus1$api_stu<-apiclus1$api.stu 7apiclus1$comp_imp<-apiclus1$comp.imp 8dclus1<-svydesign(id=~dnum, weights=~pw, fpc=~fpc,data=apiclus1) 9dbclus1<-svydesign(id=~dnum, weights=~pw, fpc=~fpc, 10data="apiclus1",dbtype="SQLite", dbname=system.file("api.db",package="survey")) 11 12m<-svymean(~api00+stype,dclus1) 13m.db<-svymean(~api00+stype, dbclus1) 14all.equal(coef(m),coef(m.db)) 15all.equal(vcov(m), vcov(m.db)) 16 17r<-svyratio(~api_stu, ~enroll, design=dclus1) 18r.db<-svyratio(~api_stu, ~enroll, design=dbclus1) 19all.equal(coef(r), coef(r.db)) 20all.equal(SE(r), SE(r.db)) 21 22b<-svyby(~api99+api00,~stype, design=dclus1, svymean, deff=TRUE) 23b.db<-svyby(~api99+api00,~stype, design=dbclus1,svymean, deff=TRUE) 24all.equal(coef(b), coef(b.db)) 25all.equal(SE(b), SE(b.db)) 26all.equal(deff(b), deff(b.db)) 27 28l<-svyglm(api00~api99+mobility, design=dclus1) 29l.db<-svyglm(api00~api99+mobility, design=dbclus1) 30all.equal(coef(l),coef(l.db)) 31all.equal(vcov(l), vcov(l.db)) 32 33dclus1<-update(dclus1, apidiff=api00-api99) 34dclus1<-update(dclus1, apipct= apidiff/api99) 35dbclus1<-update(dbclus1, apidiff=api00-api99) 36dbclus1<-update(dbclus1, apipct= apidiff/api99) 37 38u<-svymean(~api00+apidiff+apipct, dclus1) 39u.db<-svymean(~api00+apidiff+apipct, dbclus1) 40all.equal(u, u.db) 41 42all.equal(nrow(dclus1),nrow(dbclus1)) 43 44## replicate weights 45rclus1<-as.svrepdesign(dclus1) 46db_rclus1<-svrepdesign(weights=~pw, repweights="wt[1-9]+", type="JK1", scale=(1-15/757)*14/15, 47data="apiclus1rep",dbtype="SQLite", dbname=system.file("api.db",package="survey"),combined.weights=FALSE) 48m<-svymean(~api00+api99,rclus1) 49m.db<-svymean(~api00+api99,db_rclus1) 50all.equal(m,m.db) 51 52summary(db_rclus1) 53 54s<-svymean(~api00, subset(rclus1, comp_imp=="Yes")) 55s.db<-svymean(~api00, subset(db_rclus1, comp_imp=="Yes")) 56all.equal(s,s.db) 57