0

取り組んでいる調査データがあります。データに対していくつかのテーブルと回帰分析を作成する必要があります。データを添付した後、これは4つの変数のテーブルに使用するコードです。

ftable(var1、var2、var3、var4)

そして、これは私がデータに使用する回帰コードです:

logit.1 <-glm(var4〜var3 + var2 + var1、family = binomial(link = "logit"))summary(logit.1)

これまでのところ、重み付けされていない分析には適しています。しかし、どのように重み付けされたデータに対して同じ分析を行うことができますか?追加情報は次のとおりです。データセットには、サンプリング構造を反映する4つの変数があります。これらは

strat:stratum(都市または(サブカウンティ)地方)。

clust:同じランダムウォークの一部であったインタビューのバッチ

vill_neigh_code:村または近隣のコード

sweight:ウェイト

4

1 に答える 1

2
library(survey)

data(api)

# example data set
head( apiclus2 )

# instead of var1 - var4, use these four variables:
ftable( apiclus2[ , c( 'sch.wide' , 'comp.imp' , 'both' , 'awards' ) ] )

# move it over to x for faster typing
x <- apiclus2


# also give x a column of all ones
x$one <- 1

# run the glm() function specified.
logit.1 <-
    glm( 
        comp.imp ~ target + cnum + growth , 
        data = x ,
        family = binomial( link = 'logit' )
    )

summary( logit.1 )

# now create the survey object you've described
dclus <-
    svydesign(
        id = ~dnum + snum , # cluster variable(s)
        strata = ~stype ,   # stratum variable
        weights = ~pw ,     # weight variable
        data = x ,
        nest = TRUE
    )

# weighted counts
svyby( 
    ~one , 
    ~ sch.wide + comp.imp + both + awards , 
    dclus , 
    svytotal 
)


# weighted counts formatted differently
ftable(
    svyby( 
        ~one , 
        ~ sch.wide + comp.imp + both + awards , 
        dclus , 
        svytotal ,
        keep.var = FALSE
    )
)


# run the svyglm() function specified.
logit.2 <-
    svyglm( 
        comp.imp ~ target + cnum + growth , 
        design = dclus ,
        family = binomial( link = 'logit' )
    )

summary( logit.2 )
于 2013-01-02T01:19:10.397 に答える