2017-08-21 20 views
0

我有一個包含8個變量和300多個觀察值(參與者)的數據集。這些觀察結果被隨機分成10組。每個參與者執行相同的一組任務。適當的方式來顯示與人口百分比相關的得分

對於每個組,我想繪製一張圖表,說明他們在平均分數落在整體百分位數中的表現如何。

我做了一些Google搜索,並找到下面的圖表。這是一組參與者的圖表,每個欄代表一項任務。 性能標籤是通過將(每個任務的)總體分數分別分成5個百分點組(10%,20%,40%,20%,10%)產生的。

有沒有辦法在R,SPSS或Excel中繪製?

感謝

enter image description here

回答

1

在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') 

輸出應該是這樣的:Results of the test per category

非常基本的,但你可以進一步定製如果你想。

編輯:添加代碼來計算不同類別的分位數。我假定你有一個R數據框有2列,1個結果名稱爲「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') 
+0

是的,這就是我想要的東西!現在我該如何計算每根酒吧的尖端應該落地的位置?我需要計算每個分數在樣本分位數中的位置。我做了一些研究,發現ecdf函數可能有幫助,但我不熟悉它。 –

+0

ecdf是計算經驗分佈函數所必需的。我想你只需要計算每個類別的百分比。除非我誤解了你,否則你可以使用R data.frame結合分位數函數和正確的過濾器。 –

+0

我是R的新手,所以請原諒我。 假設我有一個項目,其得分範圍從0到20.經過數據收集和分析後,我的中位數爲15.我想知道他的得分是13的地方,因爲他的得分是13. –