显示与人口百分比相关得分的适当方法
我有一个包含8个variables和300多个观测值(参与者)的数据集。 这些观察结果被随机分成10组。 每个参与者执行相同的一组任务。
对于每个小组,我想绘制一个图表,说明他们的平均得分在整体百分位数中的位置。
我做了一些Googlesearch,并find下面的图表。 这是一组参与者的图表,每个栏代表一项任务。 performance标签是通过将每个任务的总分数分别分成5个百分点组(10%,20%,40%,20%,10%)产生的。
有没有办法在R,SPSS或Excel中绘制?
谢谢
在R你可以做这样的事情:
a=c(0.1,0.4,0.5,0.6,0.9) # a containes the result per category in a vector barplot(a, names.arg=c("Cat1", "Cat2", "Cat3","Cat4","Cat5"),horiz=TRUE,xlim=c(0,1),ylim=c(0,6.5)) # add the vertical lines abline(v=c(0.25,0.5,0.75),col='red') # add the text text(0.1, y =6.3, labels = 'Low') text(0.4, y =6.3, labels = 'Average') text(0.6, y =6.3, labels = 'High') text(0.85, y =6.3, labels = 'Very high')
输出结果如下所示:
很基本,但是如果你愿意,你可以进一步定制它。
编辑:添加代码来计算不同类别的分位数。 我将假设你有一个R数据框有两列,一个是结果名“col”,一个是包含名为category的类。
那么这个代码将工作:
# df is the dataframe in which your data are stored all_categories = unique(df$category) N=length(all_categories) results_category=rep(0,N) # q is the percentile you have to compute 0.5 is the median q_wanted=0.5 for (i in (1:N)){ results_category[i] = quantile(x=df$col[df$category==all_categories[i]],prob=q_wanted) } barplot(results_category, names.arg=all_categories,horiz=TRUE,xlim=c(0,1),ylim=c(0,5)) abline(v=c(0.25,0.5,0.75),col='red') text(0.1, y =4, labels = 'Low') text(0.4, y =4, labels = 'Average') text(0.6, y =4, labels = 'High')