Nothing
## ----echo=FALSE,message=FALSE-------------------------------------------------
knitr::opts_chunk$set(comment=NA,
fig.align="center",
results="markup")
## -----------------------------------------------------------------------------
knit_print.codebook <-function(x,...)
knitr::asis_output(format_html(x,...))
knit_print.descriptions <-function(x,...)
knitr::asis_output(format_html(x,...))
knit_print.ftable <-function(x,options,...)
knitr::asis_output(
format_html(x,
digits=if(length(options$ftable.digits))
options$ftable.digits
else 0,
...))
# We can now adjust the number of digits after the comma
# for each column e.g. by adding an `ftable.digits` option
# to an R chunk, as in ```{r,ftable=c(2,2,0)}
knit_print.mtable <-function(x,...)
knitr::asis_output(format_html(x,...))
## ---- message=FALSE-----------------------------------------------------------
library(memisc)
options(digits=3)
nes1948.por <- unzip(system.file("anes/NES1948.ZIP",package="memisc"),
"NES1948.POR",exdir=tempfile())
## -----------------------------------------------------------------------------
nes1948 <- spss.portable.file(nes1948.por)
print(nes1948)
## -----------------------------------------------------------------------------
names(nes1948)
## -----------------------------------------------------------------------------
description(nes1948)
## ---- eval=FALSE--------------------------------------------------------------
# codebook(nes1948)
## -----------------------------------------------------------------------------
codebook(nes1948[1:5])
## -----------------------------------------------------------------------------
vote.48 <- subset(nes1948,
select=c(
V480018,
V480029,
V480030,
V480045,
V480046,
V480047,
V480048,
V480049,
V480050
))
## -----------------------------------------------------------------------------
str(vote.48)
## -----------------------------------------------------------------------------
vote.48 <- rename(vote.48,
V480018 = "vote",
V480029 = "occupation.hh",
V480030 = "unionized.hh",
V480045 = "gender",
V480046 = "race",
V480047 = "age",
V480048 = "education",
V480049 = "total.income",
V480050 = "religious.pref"
)
## ----eval=FALSE---------------------------------------------------------------
# vote.48 <- subset(nes1948,
# select=c(
# vote = V480018,
# occupation.hh = V480029,
# unionized.hh = V480030,
# gender = V480045,
# race = V480046,
# age = V480047,
# education = V480048,
# total.income = V480049,
# religious.pref = V480050
# ))
## -----------------------------------------------------------------------------
codebook(vote.48)
## -----------------------------------------------------------------------------
vote.48 <- within(vote.48,{
vote3 <- recode(vote,
1 -> "Truman",
2 -> "Dewey",
3:4 -> "Other"
)
occup4 <- recode(occupation.hh,
10:20 -> "Upper white collar",
30 -> "Other white collar",
40:70 -> "Blue collar",
80 -> "Farmer"
)
relig3 <- recode(religious.pref,
1 -> "Protestant",
2 -> "Catholic",
3:5 -> "Other,none"
)
race2 <- recode(race,
1 -> "White",
2 -> "Black"
)
})
## -----------------------------------------------------------------------------
ftable(xtabs(~vote3+occup4,data=vote.48))
## ---- ftable.digits=c(2,2,2,0)------------------------------------------------
gt1 <- genTable(percent(vote3)~occup4,data=vote.48)
## For knitr-ing, we use ```{r, ftable.digits=c(2,2,2,0)} here.
ftable(gt1,row.vars=2)
## ---- ftable.digits=c(2,2,2,0)------------------------------------------------
gt2 <- genTable(percent(vote3)~relig3,data=vote.48)
ftable(gt2,row.vars=2)
## ---- ftable.digits=c(2,2,2,0)------------------------------------------------
gt3 <- genTable(percent(vote3)~race2,data=vote.48)
ftable(gt3,row.vars=2)
## ---- ftable.digits=c(2,2,2,0)------------------------------------------------
gt4 <- genTable(percent(vote3)~total.income,data=vote.48)
ftable(gt4,row.vars=2)
## ---- ftable.digits=c(2,2,2)--------------------------------------------------
## For knitr-ing, we use ```{r, ftable.digits=c(2,2,2)} here.
inc.tab <- genTable(percent(vote3,ci=TRUE)~total.income,data=vote.48)
ftable(inc.tab,row.vars=c(3,2))
## ---- ftable.digits=c(2,2,2)--------------------------------------------------
occup.tab <- genTable(percent(vote3,ci=TRUE)~occup4,data=vote.48)
ftable(occup.tab,row.vars=c(3,2))
## -----------------------------------------------------------------------------
vote.48 <- within(vote.48,{
contrasts(occup4) <- contr("treatment",base = 3)
contrasts(total.income) <- contr("treatment",base = 4)
})
## -----------------------------------------------------------------------------
model1 <- glm((vote3=="Truman")~occup4,data=vote.48,
family="binomial")
model2 <- glm((vote3=="Truman")~total.income,data=vote.48,
family="binomial")
model3 <- glm((vote3=="Truman")~occup4+total.income,data=vote.48,
family="binomial")
model4 <- glm((vote3=="Truman")~relig3,data=vote.48,
family="binomial")
model5 <- glm((vote3=="Truman")~occup4+relig3,data=vote.48,
family="binomial")
## -----------------------------------------------------------------------------
mtable(model1,model2,model3,summary.stats=c("Nagelkerke R-sq.","Deviance","AIC","N"))
## -----------------------------------------------------------------------------
relabel(mtable(
"Model 1"=model1,
"Model 2"=model2,
"Model 3"=model3,
summary.stats=c("Nagelkerke R-sq.","Deviance","AIC","N")),
UNDER="under",
"AND OVER"="and over",
occup4="Occup. class",
total.income="Income",
gsub=TRUE
)
## -----------------------------------------------------------------------------
relabel(mtable(
"Model 1"=model1,
"Model 4"=model4,
"Model 5"=model5,
summary.stats=c("Nagelkerke R-sq.","Deviance","AIC","N")),
occup4="Occup. class",
relig3="Religion",
gsub=TRUE
)
## ----echo=FALSE---------------------------------------------------------------
rm(knit_print.codebook,
knit_print.descriptions,
knit_print.ftable,
knit_print.mtable)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.