2013-01-07 6 views
6

Örneklerin sütunlara göre gruplandığı bir veri kümem var. Aşağıdaki örnek veri kümesi benim verinin biçimine benzer:R'de tek faktörlü ANOVA nasıl sütun tarafından organize edilen örneklerle gerçekleştirilir?

a = c(1,3,4,6,8) 
b = c(3,6,8,3,6) 
c = c(2,1,4,3,6) 
d = c(2,2,3,3,4) 

mydata = data.frame(cbind(a,b,c,d)) 

Ben ANOVA Excel'de yukarıdaki veri kümesini kullanarak tek faktör gerçekleştirdiğinizde, aşağıdaki sonuçlar elde:

enter image description here

Ben biliyorum

group measurement 
a  1 
a  3 
a  4 
.  . 
.  . 
.  . 
d  4 

ve R ANOVA gerçekleştirmek için komut aov(group~measurement, data = mydata) kullanmak olacaktır aşağıdaki gibidir: R tipik biçimidir. R'deki tek faktörlü ANOVA'yı satır satır yerine sütunla düzenlenmiş örneklerle nasıl uygularım? Başka bir deyişle, excel sonuçlarını R kullanarak nasıl kopyalarım? Yardım için çok teşekkürler.

+1

verileri yeniden şekillendirin! – mnel

+2

Anova komutunu yanlış anladınız ... 'aov (ölçüm ~ grup ...' – John

cevap

11

Uzun biçimde onları yığını: Excel farklı bir cevap verir neden

> anova(lm(values ~ ind, mdat)) 
Analysis of Variance Table 

Response: values 
      Df Sum Sq Mean Sq F value Pr(>F) 
ind  3 18.2 6.0667 1.4797 0.2578 
Residuals 16 65.6 4.1000    
> summary(lm(values~ind, mdat)) 

Call: 
lm(formula = values ~ ind, data = mdat) 

Residuals: 
    Min  1Q Median  3Q Max 
-3.40 -1.25 0.00 0.90 3.60 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) 4.4000  0.9055 4.859 0.000174 *** 
indb   0.8000  1.2806 0.625 0.540978  
indc   -1.2000  1.2806 -0.937 0.362666  
indd   -1.6000  1.2806 -1.249 0.229491  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 2.025 on 16 degrees of freedom 
Multiple R-squared: 0.2172, Adjusted R-squared: 0.07041 
F-statistic: 1.48 on 3 and 16 DF, p-value: 0.2578 

Ve sorma bana lütfen:

mdat <- stack(mydata) 
mdat 
    values ind 
1  1 a 
2  3 a 
3  4 a 
4  6 a 
5  8 a 
6  3 b 
7  6 b 
snipped output 

> aov(values ~ ind, mdat) 
Call: 
    aov(formula = values ~ ind, data = mdat) 

Terms: 
       ind Residuals 
Sum of Squares 18.2  65.6 
Deg. of Freedom 3  16 

Residual standard error: 2.024846 
Estimated effects may be unbalanced 

Verilen daha güvenli olabilir uyarı lm kullanmak . Excel'in istatistik söz konusu olduğunda genellikle güvenilmez olduğu görülmüştür. Onus, niçin cevaplara neden cevap vermediğini açıklamak için Excel'de.

Açıklamalara göre düzenleme: Excel Veri Analizi Paketi ANOVA prosedürü bir çıktı oluşturur ancak bu işlem için Excel işlevi kullanmaz. Bu nedenle, türetildiği veri hücrelerindeki verileri değiştirdiğinizde ve daha sonra F9'a veya eşdeğer menü yeniden hesaplama komutuna bastığınızda, çıkış bölümünde hiçbir değişiklik olmayacaktır. Bu ve diğer kullanıcı kaynakları ve sayısal problemler David Heiser'ın Excel'in problemlerini istatistiksel hesaplamalar ile değerlendirmedeki çabalarının çeşitli sayfalarında belgelenmiştir: http://www.daheiser.info/excel/frontpage.html Heiser, Microsoft'un sorumluluk alacağı beklentisiyle en az on yıl süren çabalarına başladı. Bu hatalar için, ama ve diğerlerinin hatalarını tespit etme ve daha iyi prosedürler önerme çabalarını sürekli olarak görmezden geldiler. Ayrıca, BD McCullough tarafından düzenlenen ve Excel ile ilgili çeşitli istatistiksel endişeleri içeren June 2008 issue of "Computational Statistics & Data Analysis" numaralı 6 bölüm Özel Rapor da vardı.

+0

böylesine büyük hatalar için yazılımı yanlış kullandığınızda, bu sizin hatanız :-) Bu aptalca varsayılan tedaviyi kullandığınız için sonuçlar farklıdır tezat oluşturmaktadır. Onları özetle kapat (lm (değerler ~ 0 + ind, mdat)) – TMS

+0

F istatistiğine başvurdum. Tahminlerin farklı zıtlıklar ile farklı görünebileceği doğrudur. VE formülü değiştirdiğinizde değiştirdiğim zaman, yine de, Excel için yayınlanandan daha farklı bir cevap alıyorum. 4.4'den .8'e kadar olanların hesaplanmasıyla tahmin edilebileceği gibi, tahmin edilebileceği gibi, “grup b'nin ortalaması için Excel tahminine eşit değil. '. –

+1

Bunun nedeni büyük olasılıkla bir yazım hatası yapmasıdır, eğer 'b = c (3,6,8,3,8)' olarak değiştirirseniz ve 5.6'yı ortalama ve 6.3'i varyans olarak, F istatistiğini ve p- değerler de aniden uyuyor. – TMS

İlgili konular