안녕하세요.
다시 질문있어 교수님께 여쭤봅니다.
제가 하려는 것은 IFG2 세 군간의 차이를 변수를 보정해도 차이가 있다는 걸 ANCOVA로 입증하려는 것입니다.
> out2=lm(Ep~factor(IFG2)+factor(sex)+age+LVMI+factor(HTN)+bmi+heartrate,data=result)
> anova(out2)
Analysis of Variance Table
Response: Ep
Df Sum Sq Mean Sq F value Pr(>F)
factor(IFG2) 2 3612 1805.9 645.23 < 2.2e-16 ***
factor(sex) 1 2927 2926.8 1045.72 < 2.2e-16 ***
age 1 23029 23029.0 8228.05 < 2.2e-16 ***
LVMI 1 1182 1181.5 422.16 < 2.2e-16 ***
factor(HTN) 1 1554 1554.2 555.32 < 2.2e-16 ***
bmi 1 3855 3854.9 1377.33 < 2.2e-16 ***
heartrate 1 2125 2124.9 759.19 < 2.2e-16 ***
Residuals 21337 59719 2.8
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
일단 여기까지는 잘 됩니다. 문제는 그 다음 Tukey나 bonferroni로 각 군간의 차이를 밝히는 부분입니다. 일주일 넘게 여러 방법으로 해봤는데 방법이 없습니다.
Tukey HSD 의 경우 범주형 변수로 하면 잘되지만 연속 변수를 넣으면 '다음과 같이 요인이 아닌 것들은 무시됩니다' 라는 메세지만 뜹니다. post hoc을 어떻게 할 수 있을까요. 이런 저런 패키지 다 써보고 나름 고민해도 안되서 여쭤 봅니다.
긴글 읽어주셔서 감사합니다.
Comment 5
-
cardiomoon
2015.09.14 04:38
-
고든
2015.09.14 07:37
교수님 답변 감사합니다,
한가지 재미있는 사실은 연속 변수를 없애고 범주형 변수만 넣으면 된다는 것입니다.
> TukeyHSD(out)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Ep ~ factor(BMIG) + factor(sex) + factor(HTN) + factor(DM), data = result)
$`factor(BMIG)`
diff lwr upr p adj
1-0 0.7120385 0.5448410 0.8792361 0
2-0 -1.0158294 -1.0937327 -0.9379261 0
3-0 -1.5883098 -1.6625211 -1.5140985 0
4-0 -2.0624187 -2.2284835 -1.8963538 0
2-1 -1.7278679 -1.8987031 -1.5570327 0
3-1 -2.3003484 -2.4695319 -2.1311648 0
4-1 -2.7744572 -2.9996089 -2.5493055 0
3-2 -0.5724805 -0.6545595 -0.4904014 0
4-2 -1.0465893 -1.2163161 -0.8768625 0
4-3 -0.4741089 -0.6421731 -0.3060446 0
$`factor(sex)`
diff lwr upr p adj
1-0 -0.3162081 -0.3649869 -0.2674294 0
$`factor(HTN)`
diff lwr upr p adj
1-0 -1.393859 -1.454469 -1.333249 0
$`factor(DM)`
diff lwr upr p adj
1-0 -1.012981 -1.110355 -0.9156075 0
> out=aov(Ep~factor(BMIG)+factor(sex)+age+LVMI+factor(HTN)+factor(DM)+heartrate,data=result)
> TukeyHSD(out)
Error in rep.int(n, length(means)) : unimplemented type 'NULL' in 'rep3'
In addition: Warning messages:
1: In replications(paste("~", xx), data = mf) :
다음과 같이 요인이 아닌 것들은 무시됩니다: age
2: In replications(paste("~", xx), data = mf) :
다음과 같이 요인이 아닌 것들은 무시됩니다: LVMI
3: In replications(paste("~", xx), data = mf) :
다음과 같이 요인이 아닌 것들은 무시됩니다: heartrate
제가 보려는 것은 BMIG에 따라 Ep 변수값이 차이가 있다는 것을 post hoc으로 증명하려는 것입니다.
고민해봤는데, 정 안되면 나머지 변수들도 3-4개 정도의 그룹으로 나눠서 모두 범주형으로 나눠볼까 합니다. 혹시 제가 뭔가 잘못한게 있을까요?
도와주셔서 거듭 감사드립니다.
-
cardiomoon
2015.09.14 07:50
데이타를 한번 올려봐주셔요. 내일 오후에 한번 해보겠습니다
-
고든
2015.09.15 04:10
교수님.
죄송하지만 데이터는 함부로 외부 유출은 안되는 상황이라 저도 곤란할 것 같습니다. ㅠㅠ
초면에 이것 저것 여쭤보는데도 너무 잘 답변해 주셔서 감사드립니다.
그리고 직접 봐주시겠다는 고마우신 말씀에도 불구하고 그럴 수 없는 점 머리숙여 사과 드립니다.
제가 직접 모은 데이터가 아니라 저희 병원에서 분양받은 데이터라 함부로 하기 어려운 사정 이해해 주셨으면 합니다. ㅠㅠ
감사합니다.
-
cardiomoon
2015.09.15 21:37
aov 함수 자체가 원래 범주형 변수만 쓰게 되어 있습니다.
다음은 R에 있는 aov() 함수 도움말입니다.
aov {stats}
R Documentation
Fit an Analysis of Variance Model
Description
Fit an analysis of variance model by a call to lm for each stratum. => 즉 각각의 계층에 대해 lm을 실시 하여 분산을 분석
Usage
aov(formula, data = NULL, projections = FALSE, qr = TRUE,
contrasts = NULL, ...)
Arguments
formula
A formula specifying the model.
data
A data frame in which the variables specified in the formula will be found. If missing, the variables are searched for in the standard way.
projections
Logical flag: should the projections be returned?
qr
Logical flag: should the QR decomposition be returned?
contrasts
A list of contrasts to be used for some of the factors in the formula. These are not used for any Error term, and supplying contrasts for factors only in the Error term will give a warning.
...
Arguments to be passed to lm, such as subset or na.action. See ‘Details’ about weights.
Details
This provides a wrapper to lm for fitting linear models to balanced or unbalanced experimental designs.
따라서 연속형 변수를 넣으면 안될 것 같습니다.
No. | Subject | Author | Date |
---|---|---|---|
654 | 정회원 서비 접속 실패 | banyaba | 2019.06.24 |
653 | 정회원 부탁드립니다. [1] | 동마 | 2019.06.21 |
652 | create table이 그려지지않습니다. | church | 2019.06.21 |
651 | 정회원접속오류 [2] | jaljary | 2019.06.20 |
650 | ggcorrplot 에서 이분형 변수를 그냥 넣어도 될까요? | Dr.Yun | 2019.06.19 |
649 | [정회원 서버 접속 오류] [2] | R_man | 2019.06.18 |
648 | 범주형 독립변수를 이용한 로지스틱 회귀분석 문의 드립니다. [1] | 키아리 | 2019.06.17 |
647 | Propensity score matching analysis로 질문드립니다. [1] | 아누누 | 2019.06.07 |
646 | 콘솔창 실행결과가 출력되지않음. (RStudio) [1] | wjdEoddl | 2019.06.04 |
645 | cox 비례위험가정체크 | 박소이 | 2019.06.03 |
644 | 안녕하세요 서버질문드립니다 [1] | 집가고싶다 | 2019.06.01 |
643 | 반복문 질문드립니다. [1] | lineplay | 2019.05.31 |
642 | subgroup analysis 에서 forest plot을 구할때 | 김날 | 2019.05.31 |
641 | 보고서, 학회 포스터 출력 [1] | 박상일 | 2019.05.29 |
640 | 정회원 요청 [1] | 깐돌이 | 2019.05.22 |
639 | 서버접속오류 | 김날 | 2019.05.22 |
638 | paired t-test 적용유무 [2] | wjdEoddl | 2019.05.22 |
637 | 프로그램별 p-value [1] | wjdEoddl | 2019.05.21 |
636 | 안녕하세요 교수님.. [1] | 구들방 | 2019.05.17 |
635 | rstudio-server 패키지 설치오류 | 하리보는맛있어 | 2019.05.14 |
패키지를 쓸 필요도 없이 base에 있는 TukeyHSD()함수를 써서 한번 해보셔요. 잘 안되면 데이타 파일을 한번 비밀글로 올려줘보세요..