2014-05-03 57 views
-1

我想因爲這個網頁上描述繪製階梯圖:http://www.talkstats.com/showthread.php/6252-Ladder-plot梯地塊代碼修改

可以將此代碼進行修改,也顯示在地塊兩側的平均值和標準誤差棒?或者,兩列的箱形圖可顯示在同一圖上。本頁面提供了一些標準錯誤欄代碼:https://stats.stackexchange.com/questions/60767/how-to-display-error-bars-for-cross-over-paired-experiments

感謝您的幫助。

編輯: 樣本配對數據如下:

paired_df = structure(list(X0 = c(9, 13, 13, 13, 35, 36, 37, 38, 39, 40, 
+ 40, 42, 43, 44), X0.1 = c(10, 40, 45, 46, 36, 37, 38, 40, 46, 
+ 45, 46, 43, 44, 46)), .Names = c("A", "B"), row.names = c(NA, 
+ 14L), class = "data.frame") 
    A B 
1 9 10 
2 13 40 
3 13 45 
4 13 46 
5 35 36 
6 36 37 
7 37 38 
8 38 40 
9 39 46 
10 40 45 
11 40 46 
12 42 43 
13 43 44 
14 44 46 
+1

因此不希望我把「你試過了什麼?」在評論中,但這是我真的很想問 –

回答

2

您應該瞭解(雖然很多人不)是箱線圖既不表示也不表示標準偏差,並且除偶然事件外不顯示四分位間距。你可以使用相同的策略來「標註箱子」。 (使用現有問題的數據結構。)

x<-data.frame(A=c(1:10), B=c(1:10)+rnorm(10)) 
xx<-stack(x) # restructures data for stripchart function 

with(xx, boxplot(values~ind)) 
apply(x,1,lines, col="blue") 
apply(x,1,points, col="red") 

enter image description here

這也許可以通過使用較小的點和具有用於更一般的使用提高了的顏色是透明的,如果有大量的箱子。

+0

謝謝。這很好。我可以通過使用選項「notch = TRUE」將缺口添加到boxplot以顯示更多信息。 – rnso

3

這裏有兩條引線你:

  1. 要創建一個階梯的情節,最簡單的方法是使用ladderplot功能來自plotrix包。代碼示例:
# install.packages('plotrix') ## this is to install the plotrix package 
require('plotrix') 
ladderplot(my.2.columns.matrix) 

。 2.要覆蓋錯誤欄,最簡單的方法是使用Hmisc包中的errbar函數。代碼示例:

# install.packages('Hmisc') ## this is to install the Hmisc package 
require('Hmisc') 
errbar(c(1,2),c(mean1, mean2),c(mean1-sem1,mean2-sem2),c(mean1+sem1,mean2+sem2),add=TRUE) 

嘗試調整這些作品的代碼,使他們爲你工作,如果你被卡住的地方發表意見。

編輯追加一個完整的例子:

看到一個完整的代碼示例,並將得到的圖片:

require('plotrix') 
require('Hmisc') 

vals = cbind(rnorm(5,mean=3,sd=1), rnorm(5,mean=5,sd=1)) 

ladderplot(vals) 

means = colMeans(vals) 
sems = apply(vals, 2, function(x) sd(x)/sqrt(length(x))) 

errbar(c(1,2),c(means[1], means[2]),c(means[1]-sems[1],means[2]-sems[2]),c(means[1]+sems[1],means[2]+sems[2]), 
     add=TRUE, 
     errbar.col='red',col='red') 

enter image description here

+0

謝謝。這是我正在尋找的。只有當誤差線可以放在主要點外(V1有點左邊,V2點有點右邊),因爲如果有很多點,它們將不會被看到。也許我們可以再創造2個變量「meanV1」和「meanV2」,並在那裏繪製誤差條。這段代碼將非常有用。 – rnso