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