2013-08-07 6 views
1

문제에 올바르게 액세스 할 수있는 정보가 충분하지 않다는 사과에 사과드립니다. 어쨌든, 나는 선형 모델의 다른 쌍을 비교하고 그들의 p 값을 테이블에 기록하려고합니다. 내 문제가있는 곳은 P 값만 추출 할 수 없다는 것입니다.두 모델의 비교에서 anova()의 p- 값 추출 R

TC <- matrix(data=NA, nrow=1, ncol=6) 
    ML5 <- 1:5 
for(B in ML5) { 
    Coop <- anova(M6,Models5[[B]])$"Pr(>F)" 
    TC[1,B] <- Coop 
} 

>Coop 
    NA 2.041767e-05 

어떻게 번호를 테이블에 넣고 NA를 테이블에 넣지 않습니까?

감사합니다.

pvalue <- anova(m2,m1)$"Pr(>F)" 

당신은 정상 브래킷 부분 집합 사용 유의 확률의 두 번째 요소에 액세스 할 수 있습니다 :

+0

가능한 중복 (http://stackoverflow.com/questions/3366506/extract-p-value-from-aov) –

답변

6

당신은 인용 부호를 필요로 사용할 수 있습니다 내가 믿는 당신의 예에 따라서

pvalue[2] 

Coop <- anova(M6,Models5[[B]])$"Pr(>F)"[2] 

(M6에 액세스 할 수 없어도 완전히 확신 할 수는 없지만)

R에서 mtcars 데이터를 사용하여
str(myanova$"Pr(>F)") 
+0

이제 오류가 발생합니다. "T21Comp의 오류 [A, B] <- Coop : 교체 할 항목 수 대체 길이의 배수가 아닙니다. " – Lcat91

+0

재현 할 수없는 예제가 없으면이를 해석하기가 어렵습니다. –

+1

'myanova $ "Pr (> F)"[1] NA 0.05418572' – Metrics

0

(내가 @ 의해 제안 된 솔루션을 선호 :

str 명령은 상황이 이런 종류의 매우 유용합니다, 당신이 상대하고있는 객체의 종류를 알아낼 드류 스틴)

myanova<-anova(lm(mpg~cyl,mtcars),lm(mpg~cyl+disp,mtcars)) 
pval<-summary(myanova)[1,6] 

질문에 따라 업데이트 :

models1<-lm(mpg~cyl,mtcars) 
models2<-list(lm(mpg~cyl+disp,mtcars),lm(mpg~cyl+disp+hp,mtcars),lm(mpg~cyl+disp+hp+drat,mtcars)) 
myp1<-lapply(models2,function(x) anova(models1,x)) 
myp2<-lapply(myp1,function(x)summary(x)[1,6]) 
> myp3 
[1] " 0.05419 " " 0.09891 " " 0.09661 " 

추가 : 당신은 AOV()를 사용하여 "$"잠 (> F) "

myp2<-lapply(myp1,function(x)x$"Pr(>F)") 
    myp3<-sapply(myp2,function(x) as.data.frame(x)[2,1]) 
    > myp3 
    [1] 0.05418572 0.09891469 0.09661222 
0

를 사용하는 경우 :

anova_a <- aov(response ~ time + Error(subject), data = all_data) 

f_value <- unlist(summary(anova_a)[[2]])[9] 
[AOV에서 추출 p- 값]의