2024. 1. 29. 18:15ㆍStatistics/R
trend 경향을 알아보려면 뭔가 순차적인 기준이 있어야한다.
시간의 흐름이라던가 .....
그룹이 어떤 순서(순위)가 있을 때, 다음 그룹으로 갈 때 해당되는 개체의 비율에 대해서도
trend 분석을 할 수 있다.
그 분석이 Cochran-Amitage trend test 이다.
해당 포스팅은 R코드들을 개인적으로 정리하고자 작성하였습니다.
※ 혹시 잘못된 곳이 있거나 의견있으시면 알려주세요!
예를 들어 그런 것이다.
조금먹고 적당히먹고 많이먹는 그룹간 비만인 사람의 비율 같은?
먹는 양이 늘어날 수록 비만과 연관성이 있을까? 같은 2xr 의 검정을 하는 것이다.
먼저 가설 체크!
$$H_0 : var.R이 1에서 5로 변함에 따라 var.C == 1의 비율이 증가 또는 감소하는 경향성? 연관성이 없다.$$
$$H_1 : var.R이 1에서 5로 변함에 따라 var.C == 1의 비율이 증가 또는 감소하는 경향성? 연관성이 있다..$$
$$H_0 : 밥을 많이 먹을 수록 비만인 사람의 비율이 증가하거나 줄어들지 않는다. (식사량과 비만의 연관성이 없다.)$$
$$H_1 : 밥을 많이 먹을 수록 비만인 사람의 비율이 증가하거나 줄어든다.$$
R 에서는 어떻게 하는 가?!?!?!
1. 두 변수에 대한 빈도표 확인
table(var.row, var.col)
1번에서 5번 그룹으로 가는 것이 var.R과 연관성이 있는지 확인 하는 것이다.
1 | 2 | 3 | 4 | 5 | |
0 | 9 | 38 | 33 | 17 | 6 |
1 | 1 | 31 | 23 | 20 | 5 |
total | 10 | 69 | 56 | 37 | 11 |
2. prop.trend.test 함수를 사용한다.
prop.trend.test(var.R 1인 개체 수, var.C 속하는 전체 개체 수)
prop.trend.test(table(var.R, var.C)[2,], colSums(table(var.R, var.C)))
여기서 주의할 점!
가끔 그룹이 str로 되어 있는 경우가 있다.
예를 들어 small/ regular/ large 이 세 그룹에 대한 경향성을 보일 때,
그냥 이 변수를 factor로 주면 순서가 알파벳 순서가 된다.
지금은 역방향이라 그렇게 상관 없어보이지만
뒤죽박죽이 될 수 도 있다.
이럴 때 해결책!
**1. 숫자로 변경해준다.
var.R <- as.factor(ifelse(var.R == "small", 1,
ifelse(var.R == "regular", 2, 3)))
**2. level을 준다.
factor(var.R, levels = c("small", "regular", "large"))
이렇게 level 을 주면 순서가 지정이 된다.
prop.trend.test를 돌리면
p value 0.1339로 여기서 var.R과 var.C의 연관성이 통계적으로 유의하지 않음을 확인하였다.
'Statistics > R' 카테고리의 다른 글
Pearson correlation coefficient (2) | 2024.01.29 |
---|---|
MatchIt :: matchit (4) | 2024.01.25 |
ggplot2:: option (0) | 2023.09.12 |
ggplot2 :: pie chart (0) | 2023.08.19 |
R :: openxlsx package (0) | 2023.02.16 |