R - 척도별 통계량 살피기 예제





늘은 R 환경에서 데이터를 전처리해가면서 척도별 통계량을 살피는 예제입니다. 코드 및 샘플 데이터는 아래에서 확인할 수 있습니다.



코드

data <- read.csv("testdata/descriptive.csv", header = TRUE)
data
str(data)

# 명목척도(resident, gender, type) - 대상을 카테고리로 분류
unique(data$gender) #카테고리별 확인
summary(data$gender) #별로 의미 없음
table(data$gender) #성별 빈도수 확인, outlier 확인 가능

data <- subset(data,data$gender==1 | data$gender ==2) #데이터$젠더가 1이거나 2인 데이터를 가져옴 / 즉 5인 값을 날림
unique(data$gender) #아웃라이어를 제거하고 1,2만 남은 데이터 불러옴
a <- table(data$gender)
a

barplot(a)

b <- prop.table(a) #빈도 수 계산해서 그래프로 보여주기
b #b의 실제값
round(b * 100,2) #백분율 퍼센트로 계산


# 서열척도(level) - 계급(구간)
data
data$level
summary(data$level) #별 의미 없음
x1 <- table(data$level) #레벨 부여
x1
barplot(x1)
prop.table(x1)

# 등간척도(survey)
survey <- data$survey
survey
summary(survey)
x2 <- table(survey)
x2

hist(survey)
pie(x2)

# 비율 척도

length(data$cost)
summary(data$cost)
mean(data$cost, na.rm = T) #NA를 제거하고 평균 구한 것
plot(data$cost)

data <- subset(data, data$cost >= 2 & data$cost <= 10)
data
summary(data)

x <- data$cost
x
summary(x)


# 연속형 자료의 범주화
data$cost
data$cost2[data$cost >= 1 & data$cost <= 3] <- 1
data$cost2[data$cost >= 4 & data$cost <= 6] <- 2
data$cost2[data$cost >= 7] <- 3
data

table(data$cost2)

# 비대칭도 확인 : 데이터의 분포가 정규 분포를 따르는지?
#install.packages("moments")
library(moments)

cost <- data$cost
cost

#왜도 -= 평균을 중심으로 기울어진 정도
skewness(cost)
hist(cost,density = cost)

#첨도 - 정규분포에 비해 종이 뾰족한 수준
kurtosis(cost)
hist(cost)

# attach(), detach() 가독성 향상
attach(data)
mean(cost)
sum(cost)
sort(cost)
summary(cost)
detach(data)
mean(cost)

rm(cost)
cost

data$level
data$학력[data$level == 1] <- 고졸
data$학력[data$level == 2] <- 대졸
data$학력[data$level == 3] <- 대학원졸
data$level
data$학력
str(data)

샘플 데이터






본 포스팅은 KIC 캠퍼스에서 박영권 강사의 지도하에 공부하며 작성한 리포트입니다.
혹시 잘못된 내용이 있거나 문제 소지시 댓글 남겨주시면 조치하겠습니다.




댓글(0)

Designed by CMSFactory.NET