2013-01-23 8 views
2

다음을 수행 좋아하고 도움이 필요할 것 세트 :회귀 나는

에 대해 개별적으로 "나이"를 통해 "높이"[LM (높이 ~ 나이)]에 대한

계산 기울기와 절편을

(A) 각

(B) 성별

결과 (경사 및 절편)을 포함하는 테이블을 생성한다. 이것을 적용 할 수 있습니까?

다음 단계에서는 기울기와 절편이 성별에 따라 다른지를 결정하기 위해 통계 테스트를하고 싶습니다. R에서 테스트하는 방법을 알고 있지만 슬로프/인터셉트 계산과 T 테스트를 결합하는 방법이있을 수 있습니다.

데이터 예 : 각각의 레벨에 대해 개별적으로 회귀 분석을 수행하고, 데이터 프레임의 경사면과 인터셉트를 결합

example = data.frame(Age = c(1, 3, 6, 9, 12, 
          1, 3, 6, 9, 12, 
          1, 3, 6, 9, 12, 
          1, 3, 6, 9, 12), 
       Individual = c("Jack", "Jack", "Jack", "Jack", "Jack", 
           "Jill", "Jill", "Jill", "Jill", "Jill", 
           "Tony", "Tony", "Tony", "Tony", "Tony", 
           "Jen", "Jen", "Jen", "Jen","Jen"), 
        Gender = c("M", "M", "M", "M", "M", 
           "F", "F", "F", "F", "F", 
           "M", "M", "M", "M", "M", 
           "F", "F", "F", "F", "F"), 
        Height = c(38, 62, 92, 119, 165, 
           31, 59, 87, 118, 170, 
           45, 72, 93, 155, 171, 
           33, 61, 92, 115, 168)) 

답변

5

한가지 방법은, 라이브러리 plyr에서 기능 ddply()를 사용하는 것이다.

library(plyr) 

ddply(example,"Individual",function(x) coefficients(lm(Height~Age,x))) 
    Individual (Intercept)  Age 
1  Jack 26.29188 11.11421 
2  Jen 22.10660 11.56345 
3  Jill 18.33249 12.04315 
4  Tony 33.02030 11.96447 

ddply(example,"Gender",function(x) coefficients(lm(Height~Age,x))) 
    Gender (Intercept)  Age 
1  F 20.21954 11.80330 
2  M 29.65609 11.53934 
+0

굉장! 고맙습니다! – Dalmuti71