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)