首先,包的安装:
代码语言:javascript复制 install.packages(“likert”)
接下来我们看下数据的构成,我们直接引用包自带的数据pisaitems:
代码语言:javascript复制data(pisaitems)
items29 <-pisaitems[,substr(names(pisaitems), 1,5) == 'ST25Q']
names(items29) <-c("Magazines", "Comic books", "Fiction",
"Non-fiction books","Newspapers")
View(head(items29))
然后就包自带的处理函数likert,我们直接看实例:
#基础的应用
代码语言:javascript复制l29 <- likert(items29)
plot(l29)
如上图,可以看到中间的分割点,此中心代表likert反应的中心。两边分别是低水平和高水平分别对应的百分比是柱状图两侧的数值。当然,我们如果不是通过中心定义高低水平,那么可以自定义,也可以不用标注:
代码语言:javascript复制#去掉中心标注
plot(l29, centered=FALSE, wrap=30, plot.percents=TRUE)
代码语言:javascript复制#自定义中心位置
plot(l29, center=1.5, wrap=30)
代码语言:javascript复制#自定义中心位置
plot(l29, center=2, wrap=30)
代码语言:javascript复制#自定义颜色
plot(l29,colors=c('orange','darkorange','darkblue','blue','red'))
代码语言:javascript复制#密度图绘制
plot(l29, type='density')
通过上图我们可以看出每个变量在五种反应中的密度分布。另外还可以将上图合并在一起绘制:
代码语言:javascript复制plot(l29, type='density', facet=FALSE)
代码语言:javascript复制#热图绘制
plot(l29, type='heat', wrap=30,text.size=4)
代码语言:javascript复制# 分组统计
l29g <- likert(items29,grouping= pisaitems$CNT)
plot(l29g)
代码语言:javascript复制#纵向分布
plot(l29g, panel.arrange='h', wrap=20)
代码语言:javascript复制#按一定顺序排列分组
plot(l29g, group.order=c('Mexico','Canada', 'United States'))
代码语言:javascript复制#密度分布图
plot(l29g, type='density')
另外,还有一个函数,那就是reverse.levels()可以将反应等级进行反向调换。我们也可以将数据导出利用print函数: