いくつかの合意声明に対する回答を示すグラフを作成したいと思います。グラフは、回答者とステートメント項目のさまざまなグループ間での比較を可能にする必要があります。
私は基本的に、Kastellec&Leoniによって提供されたRコードを利用します(図5; http://tables2graphs.com/doku.php?id=03_descriptive_statistics#figure_5)。
それらとは対照的に、私は-5から5の範囲のx軸を持ちたいので、テーブルは2x2の形式である必要があります。
このコードは、私が使用したものと同様のサンプルデータを生成するはずです。
mydata<-expand.grid(
col1=c('item1', 'item2', 'item3', 'item4'),
col2=c('0', '1', '3', '4'),
col3=c('T1', 'T2', 'C1', 'C2'))
mydata$col4=sapply(rnorm(64,0,1), function(x) {round(x,2)})
注:-col1:ステートメント項目(K&Lのデータセットの「変数」)-col2:回答カテゴリ(K&Lの「期間」)-col3:回答者のグループ(K&Lの「議会」)-col4:比率(「比率」 "K&Lで)
そしてこれはコードです:
library(lattice)
library(car)
ltheme <- canonical.theme(color = FALSE)
ltheme$strip.background$col <- "lightgrey"
lattice.options(default.theme = ltheme)
mydata$col2<-factor(mydata$col2,
levels=c(0,1,3,4),
labels=c("strongly disagree", "disagree", "agree", "strongly agree"), ordered=TRUE)
mydata$col3<-factor(mydata$col3,
levels=c("T1", "C1", "T2", "C2"), ordered=TRUE)
levels(mydata$col3)<-c("treatment group 1", "control group 1", "treatment group 2", "control group 2")
mydata$col1<-factor(mydata$col1,
levels=c("item1", "item2", "item3", "item4"),
labels=c("item 4", "item 3", "item 2", "item 1"), ordered=TRUE)
prop.vec<-c(-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5)
plot<-dotplot(mydata$col1~mydata$col4|mydata$col3, xlab="levels of agreement",
data=mydata,
groups=mydata$col2,
layout=c(2,2),
scales=list(cex=0.65,
x=list(at=prop.vec),
alternating=3),
par.strip.text=list(lines=2.5,cex=0.65),
panel=function(...){
panel.abline(v=prop.vec, col="lightgrey")
panel.abline(h=1:11, col="lightgrey", lty=2)
panel.xyplot(...)},
as.table=TRUE,
par.settings=simpleTheme(pch=c(19,1,2,17), cex=0.7),
auto.key=list(space="bottom", column=4, cex=0.65)
)
trellis.device(file="figure.pdf", device="pdf", color=FALSE, width=6, height=8)
print(plot, newpage=FALSE)
dev.off()