안녕하세요.
다시 질문있어 교수님께 여쭤봅니다.
제가 하려는 것은 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 |
---|---|---|---|
934 | 교수님 오래간 만입니다. [2] | 에구머니나 | 2020.12.26 |
933 | 저도 생존 분석에 관해 질문 드리고자합니다. [3] | CSJU | 2020.12.23 |
932 | ggplot2 범례 관련하여 도움 요청드립니다. | hamdgogo | 2020.12.22 |
931 | 정회원 후원했습니다 교수님 [1] | 스튜던트 | 2020.12.16 |
930 | 생존분석 관련하여 문의드립니다. [2] | 따거81 | 2020.12.15 |
929 | PSM 질문합니다ㅜ | 카트라이더 | 2020.12.14 |
928 | ggplot으로 지도 그리기 관련 질문 | 양세마리 | 2020.12.14 |
927 | Interval censored data [1] | 김민철 | 2020.12.13 |
926 | 교수님 안녕하세요. 질문드립니다. [1] | JJ88 | 2020.12.09 |
925 | PSM의 matching 방법 기술에 대한 질문입니다. [1] | ng2o321 | 2020.12.01 |
924 | logistic 분석 시 오류 문제 상의드립니다. [1] | britnepak | 2020.12.01 |
923 | mytable을 가지고 ztable시, ztable의 caption, align 등 이 작동을 하지 않습니다. | 김찬식 | 2020.11.30 |
922 | RM-ANOVA 문의드립니다. | 김도 | 2020.11.27 |
921 | 질문드립니다. [3] | JJ1518 | 2020.11.27 |
920 | ggplot2 bar plot 관련 문의입니다. [4] | hamdgogo | 2020.11.26 |
919 | 4 그룹 비교 [2] | 벌레들 | 2020.11.25 |
918 | web-r에서 psm을 수행하였는데 레퍼런스는 어떻게 표시해야 하나요? [1] | 스티브 | 2020.11.24 |
917 | PSM 하려고 하는데 missing value가 없는데 자꾸 에러가 납니다. [1] | 스티브 | 2020.11.18 |
916 | 통계 web R로 돌린 후 통계검증법 확인 [1] | 딸기공주 | 2020.11.17 |
915 | 교수님, wbe-r로 메타분석을 돌렸는데 결과가 보이질 않아요. [2] | hanclan | 2020.11.16 |
패키지를 쓸 필요도 없이 base에 있는 TukeyHSD()함수를 써서 한번 해보셔요. 잘 안되면 데이타 파일을 한번 비밀글로 올려줘보세요..