使用高级点图可视化分级likert量表

使用高级点图可视化分级likert量表,r,graph,plot,R,Graph,Plot,我希望制作一个图表,展示对一些协议声明的响应。该图表应允许对不同的受访者群体和报表项目进行比较 我基本上使用了Kastellec&Leoni图5;提供的R代码 与之相反,我希望x轴的范围为-5到5,表格的格式应为2x2 此代码应生成与我使用的示例数据类似的示例数据: mydata<-expand.grid( col1=c('item1', 'item2', 'item3', 'item4'), col2=c('0', '1', '3', '4'), col3=c('T1', 'T2', '

我希望制作一个图表,展示对一些协议声明的响应。该图表应允许对不同的受访者群体和报表项目进行比较

我基本上使用了Kastellec&Leoni图5;提供的R代码

与之相反,我希望x轴的范围为-5到5,表格的格式应为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中的比例

这是代码:


问题已解决-我更正了代码,以便生成一个很好的曲线图,显示对声明协议的响应,如上图所示。如果您愿意,请随意进一步改进。非常感谢您的帮助!

第二个作业中有一个错误。mydata$组使用dputmydata并用结果更新您的问题。行:mydataJustin-非常感谢。我照你说的做了,它似乎起了作用,因为我再也没有收到任何错误消息。但是,它会生成空页,即acrobat reader告诉我:打开此文档时出错。此文件无法打开,因为它没有页面。:/你介意将代码发送给我,以便我可以查看我是否监督了此文件吗什么事?那太好了!在重试之前,您是否尝试过关闭dev.off一次或多次?有时,如果您打开绘图设备,并且由于错误而导致进程失败,则该绘图设备将保持打开状态,从而导致问题。
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()