안녕하세요.
다시 질문있어 교수님께 여쭤봅니다.
제가 하려는 것은 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 |
---|---|---|---|
54 | 스피어만 상관계수(Spearman correlation coefficient) [1] | ㅎㅎㅎ | 2015.10.15 |
53 | 파일업로드에 대해 문의드립니다. [3] | flapper | 2015.10.15 |
52 | 향후 5년간 핵심 화두가 Cognitive Business가 될 것 같아 먼저 여기에 글을 올립니다. [2] | Ben | 2015.10.14 |
51 | 로지스틱 회귀분석 반응변수 수 제한 [3] | 화모기 | 2015.10.11 |
50 | 표만들기_2차그룹변수로 했을 때 결과물 이상 [1] | 화모기 | 2015.10.10 |
49 | 결측값 처리와 관련하여 [3] | 화모기 | 2015.10.07 |
48 | Standard error [2] | R까기 | 2015.09.24 |
47 | 표만들기에서 질문드립니다. [3] | wiswis | 2015.09.22 |
46 | sensitivity, specificity 계산가능여부 여쭤봅니다. [2] | 곽미리 | 2015.09.16 |
» | ANCOVA에 대해서 여쭤보고 싶습니다. [5] | 고든 | 2015.09.13 |
44 | RM ANOVA [2] | flocky | 2015.09.09 |
43 | 혹시 이런 질문 드려도 되는지 모르겠습니다. [5] | 고든 | 2015.09.07 |
42 | 자료 (xlsx or CSV) [2] | medi79 | 2015.08.31 |
41 | 요즘 아주 잘 쓰고 있습니다. [1] | 김승욱 | 2015.08.17 |
40 | 생존분석 변수선택 [3] | nash | 2015.08.11 |
39 | http://www.r-statistics.com/ 번역소식 [1] | fermat39 | 2015.07.25 |
38 | Rstudio server 무한 로딩 관련해서 문의 드립니다. [6] | 노상래 | 2015.07.24 |
37 | Rstudio server 서버 오류 관련해서 문의드립니다. [2] | 노상래 | 2015.07.22 |
36 | Interactive ggplot2 [2] | cardiomoon | 2015.06.22 |
35 | 나무 분석 질문입니다. | 미소천사 | 2015.06.19 |
패키지를 쓸 필요도 없이 base에 있는 TukeyHSD()함수를 써서 한번 해보셔요. 잘 안되면 데이타 파일을 한번 비밀글로 올려줘보세요..