열렬히.뛰기

practice problem 1

수학 & 통계 > 탐색적 자료분석 > 탐색적 자료분석 : 문제 > practice problem 1

자료

첨부파일prod-files-secure.s3.us-west-2.amazonaws.com

문제

1번

r
## no.1
dim(dataset)

2번

r
## no.2
par(mfrow=c(1,2))
barplot(table(dataset$SEX), main="freq.")
barplot(table(dataset$SEX)/length(dataset$SEX),
        main="relative freq.",ylim = c(0, 1))

3번

r
## no.3
dataset$AGE.cat= 
    cut(dataset$AGE, breaks = c(0, 12, 15, 18), 
    label = c("elementary", "middle", "high"))

table(dataset$AGE.cat)

4번

r
## no.4
# na 갯수 세기
sum(is.na(dataset$AGE))
# AGE 에서 na 제거
dataset2 = dataset[!is.na(dataset$AGE),]
sum(is.na(dataset2$AGE))
nrow(dataset)-nrow(dataset2)

5번

r
## no.5
# TC_LT 변수 활용
barplot(table(dataset2[dataset2$TC_LT == 1,]$SEX),
        ylim = c(0, 30000),
        main ="성별 흡연 차이")

6번

r
## no.6
par(mfrow=c(1,2))
barplot(table(dataset2[dataset2$SEX == 1,]$PA_VIG),
        main="남자")
barplot(table(dataset2[dataset2$SEX == 2,]$PA_VIG),
        main="여자")

par(mfrow=c(1,1))
boxplot(PA_TOT-1 ~ SEX ,data=dataset2, 
				ylab="Total Physical Activity days on week") 

7번

r
## no.7
x = dataset2$M_WK_HR
y = dataset2$M_SLP_HR
dataset2$SLP = ifelse(x-y > 0, x-y, x+24-y)
dataset2$SLP[is.na(dataset2$SLP)] = 0
v = tapply(dataset2$SLP, dataset2$AGE.cat, mean)
barplot(v, main="연령별 평균 수면 시간",
        ylim=c(0, 10))

8번

r
## no.8
# Weight 값 조정 
hist(dataset2$WT)
dataset2$WT[is.na(dataset2$WT) ] = mean(dataset2$WT[!is.na(dataset2$WT) ])
hist(dataset2$WT)

summary(dataset2$WT)
boxplot(dataset2$WT)


# cm => m로 바꿔주기
summary(dataset2$HT)
dataset2$HT[is.na(dataset2$HT)] = mean(dataset2$HT[!is.na(dataset2$HT) ] )

summary(dataset2$HT)

dataset2$HT = dataset2$HT / 100
summary(dataset2$HT)

# BMI
dataset2$BMI = dataset2$WT / (dataset2$HT)^2
summary(dataset2$BMI)
hist(dataset2$BMI)

# BMI.cat
a1 = c(0, 18.5, 25, 30, 100)
a2 = c("underweight", "normal", "overweight", "obese")
dataset2$BMI.cat = cut(dataset2$BMI, breaks=a1,
                       labels=a2)

par(mfrow=c(1,2))
hist(dataset2[dataset2$SEX == 1,]$BMI)
hist(dataset2[dataset2$SEX == 2,]$BMI)

par(mfrow=c(1,2))
barplot(table(dataset2[dataset2$SEX == 1,]$BMI.cat))
barplot(table(dataset2[dataset2$SEX == 2,]$BMI.cat))

전체 코드

r
#######################################################
# Title: Practice 1                                  #
# PID : 2018111373                                   #
#######################################################

rm(list=ls())
setwd("C:/Users/dlsfu/Desktop/EDA_rawData")
dataset = read.csv("practice pr1_data2015_reduced.csv")

## no.1
dim(dataset)

## no.2
par(mfrow=c(1,2))
barplot(table(dataset$SEX), main="freq.")
barplot(table(dataset$SEX)/length(dataset$SEX),
        main="relative freq.",ylim = c(0, 1))

## no.3
dataset$AGE.cat= 
    cut(dataset$AGE, breaks = c(0, 12, 15, 18), 
    label = c("elementary", "middle", "high"))

table(dataset$AGE.cat)

## no.4
# na 갯수 세기
sum(is.na(dataset$AGE))
# AGE 에서 na 제거
dataset2 = dataset[!is.na(dataset$AGE),]
sum(is.na(dataset2$AGE))
nrow(dataset)-nrow(dataset2)


## no.5
# TC_LT 변수 활용
barplot(table(dataset2[dataset2$TC_LT == 1,]$SEX),
        ylim = c(0, 30000),
        main ="성별 흡연 차이")

## no.6
par(mfrow=c(1,2))
barplot(table(dataset2[dataset2$SEX == 1,]$PA_VIG),
        main="남자")
barplot(table(dataset2[dataset2$SEX == 2,]$PA_VIG),
        main="여자")

par(mfrow=c(1,1))
boxplot(PA_TOT-1 ~ SEX ,data=dataset2, ylab="Total Physical Activity days on week") 


## no.7
x = dataset2$M_WK_HR
y = dataset2$M_SLP_HR
dataset2$SLP = ifelse(x-y > 0, x-y, x+24-y)
dataset2$SLP[is.na(dataset2$SLP)] = 0
v = tapply(dataset2$SLP, dataset2$AGE.cat, mean)
barplot(v, main="연령별 평균 수면 시간",
        ylim=c(0, 10))

boxplot(SLP ~ AGE.cat, dataset2, main="sleeping hours by age")


## no.8
# Weight 값 조정 
hist(dataset2$WT)
dataset2$WT[is.na(dataset2$WT) ] = mean(dataset2$WT[!is.na(dataset2$WT) ])
hist(dataset2$WT)

summary(dataset2$WT)
boxplot(dataset2$WT)


# cm => m로 바꿔주기
summary(dataset2$HT)
dataset2$HT[is.na(dataset2$HT)] = mean(dataset2$HT[!is.na(dataset2$HT) ] )

summary(dataset2$HT)


dataset2$HT = dataset2$HT / 100
summary(dataset2$HT)

# BMI
dataset2$BMI = dataset2$WT / (dataset2$HT)^2
summary(dataset2$BMI)
hist(dataset2$BMI)

# BMI.cat
a1 = c(0, 18.5, 25, 30, 100)
a2 = c("underweight", "normal", "overweight", "obese")
dataset2$BMI.cat = cut(dataset2$BMI, breaks=a1,
                       labels=a2)

par(mfrow=c(1,2))
hist(dataset2[dataset2$SEX == 1,]$BMI)
hist(dataset2[dataset2$SEX == 2,]$BMI)

par(mfrow=c(1,2))
barplot(table(dataset2[dataset2$SEX == 1,]$BMI.cat))
barplot(table(dataset2[dataset2$SEX == 2,]$BMI.cat))