2013-05-13 40 views
5

:LME'deki korelasyon tablosunu nasıl önleyebilirim? R nlme paketinde lme() işlevi, standart bir örnekte

Correlation: 
      (Intr) age 
age  -0.813  
SexFemale -0.372 0.000 

dahil pek çok faktör kombinasyon varsa büyük olabilir:

fm2 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1) 
summary(fm2) 

korelasyon tablo varmış gibi görünür .

Özet komutunda çıktının bastırılması için herhangi bir yol var mı? Ben

print(fm2, cor=F) 

kullanabilirsiniz ama bu bana mesela her zaman aldığı sonuçlara hiçbir p-değeri hesaplama kalanını göstermez biliyoruz.

cevap

2

Belki de yararlı olacağını

(... sen if (nrow(x$tTable)>1) başlayan if maddesini kaldırarak bu işlevin kesmek sürümünü oluşturmak rağmen) ben korelasyon matrisi baskı bastırmak için bir yol göremiyorum nlme:::print.summary.lme baktığımızda 'u sadece sabit etki parametrelerinin özetini yazdırabilmeniz için ...? sabit etkiler sürü ve korelasyon tablosuna uydurma modelleri büyük ve gerçekten çıkışı darmadağın olunca

printCoefmat(summary(fm2)$tTable) 
+0

Teşekkürler, bu zaten yardımcı olur (biraz). Geç upvote için özür dilerim, dikkatim dağıldı. – Jens

2

Ya da daha kısaca, summary(fm2)$tTable

2

Ben sadece son zamanlarda aynı sorunu koştum. (Eğer nlme:::print.summary.lme kullanmak zorunda ihraç almayan) print.summary.lme() baktığımızda kısmı bu çizgilerin geldiğini gösterir:

if (nrow(x$tTable) > 1) { 
    corr <- x$corFixed 
    class(corr) <- "correlation" 
    print(corr, title = " Correlation:", ...) 
} 

olarak zaten Ben tarafından işaret etti. Tüm işlevi yeniden yazmak/değiştirmek yerine nlme:::print.correlation (aslında korelasyon matrisinin baskısını yapan) yerine, correlation sınıfındaki nesneler için kendi print yöntemiyle basit bir numara kullanabilirsiniz. Bu şu şekilde yapılabilir: Şimdi korelasyon matrisi atlanacak, ancak kalan çıktıyı elde edeceksin.