
💡 **데이터 전처리 과정**t1<-data.frame(read.table("1_EMR data_sex.txt",header=T,sep='\t')) t2<-data.frame(read.table("2_App data_e.txt",header=T,sep='\t'))
t11<-na.omit(t1)
t21<-na.omit(t2)
t22<-t21[t21$A_steps>0,]
t23<-aggregate(A_steps~A_myhealth_id, data=t22, mean)
dim(t11)
[1] 418 2
dim(t23)
[1] 586 2
t23A_myhealth_id
t=merge(t11,t23,key=pid)
dim(t)
[1] 298 4
파일 불러오기
t1 <- data.frame(read.table("1_EMR data_sex.txt", header = TRUE, sep = '\t'))
t2 <- data.frame(read.table("2_App data_e.txt", header = TRUE, sep = '\t'))
결측치 제거
t11 <- na.omit(t1)
t21 <- na.omit(t2)
na.omit()을 사용해 결측치(NA)가 있는 행을 제거.걸음 수가 0보다 큰 데이터 필터링 (outliner 제거)
t22 <- t21[t21$A_steps > 0, ]
평균 걸음 수 계산 → id를 합칠 수 있음
t23 <- aggregate(A_steps ~ A_myhealth_id, data = t22, mean
aggregate() 함수를 통해 A_myhealth_id별 A_steps의 평균을 구함.ID 변수 추가
t23$pid <- t23$A_myhealth_id
데이터 병합
t <- merge(t11, t23, key = "pid")
데이터 차원 확인
```
dim(t)
```
- **t11**: 418 x 2 (418명의 데이터, 2개의 열)
- **t23**: 586 x 2 (586명의 데이터, 2개의 열)
- **t**: 298 x 4 (298명의 데이터, 4개의 열)
- **해석**: t11과 t23의 교집합으로 298명의 데이터를 남겼으며, 이 데이터에는 사용자 **성별(sex)**과 **평균 걸음 수(A_steps)**가 포함됨.
var.test(A_steps~sex,data=t)
F test to compare two variances
💡data: A_steps by sex
F = 0.39318, num df = 159, denom df = 137, p-value = 1.892e-08
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2837034 0.5427609
sample estimates:
ratio of variances
0.3931844
F-test 수행
var.test(A_steps ~ sex, data = t)
결과 해석
```r
F test to compare two variances
data: A_steps by sex
F = 0.39318, num df = 159, denom df = 137, p-value = 1.892e-08
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval: 0.2837034 0.5427609
sample estimates: ratio of variances 0.3931844
```
- **F-통계량 (F = 0.39318)**
- F 값이 1보다 크거나 작으면 분산이 다르다는 것을 의미.
- 여기서는 0.39318로, 분산이 다르다는 신호가 있음.
- **p-value = 1.892e-08**
- **p < 0.05**이므로, **귀무가설(H0: 분산이 같다)을 기각**함.
- 즉, **남성과 여성의 걸음 수의 분산이 다르다**고 결론지을 수 있음.
- **95% 신뢰구간 (0.2837, 0.5428)**
- 분산의 비율의 95% 신뢰구간에 1이 포함되지 않음.
- 이는 **등분산을 만족하지 않는다는 증거**임.
t.test(A_steps~sex,data=t,var.equal=F)
Two Sample t-test
💡data: A_steps by sex
t = 1.4295, df = 296, p-value = 0.1539
alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
95 percent confidence interval:
-239.4993 1511.1126
sample estimates:
mean in group 1 mean in group 2
5066.481 4430.674
t-test 수행
t.test(A_steps ~ sex, data = t, var.equal = TRUE)
결과 해석
```vbnet
Two Sample t-test
data: A_steps by sex
t = 1.4295, df = 296, p-value = 0.1539
alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
95 percent confidence interval: -239.4993 1511.1126
sample estimates:
mean in group 1 mean in group 2
5066.481 4430.674
```
- **t-통계량 (t = 1.4295)**
- t 값이 작을수록 평균 차이가 없을 가능성이 높음.
- **p-value = 0.1539**
- **p > 0.05**이므로, 귀무가설(H0: 평균 차이가 없다)을 **기각할 수 없음**.
- 즉, **남성과 여성의 평균 걸음 수의 차이가 통계적으로 유의미하지 않다**고 결론 내림.
- **95% 신뢰구간 (-239.4993, 1511.1126)**
- 신뢰구간에 0이 포함됨.
- 0이 포함된다는 것은 남성과 여성의 평균 차이가 0일 가능성이 있다는 것을 의미함.
- **평균 걸음 수**
- 남성의 평균 걸음 수: 5066.481
- 여성의 평균 걸음 수: 4430.674