728x90
library(mlbench)
data("BostonHousing")

df = as.data.frame(BostonHousing)

crim.top10 = head(sort(df$crim, decreasing = T), 10) #범죄율(crim) 상위 10개 도시

#범죄율 10위 도시
ten = crim.top10[10]

library(dplyr) #filter 사용을 위한 라이브러리 불러오기

age.over80 =  data %>% filter(age >= 80) #age 항목이 80이상인 데이터만 추출

#80세 이상 범죄율 평균값
over80crim = mean(age.over80$crim)

housing.idx = sample(x = c("train", "test"),
                     size = nrow(Boston),
                     replace = T,
                     prob = c(0.8, 0.2)) #80를 훈련 데이터의 인덱스로 추출
train = df[housing.idx=="train",]
test = df[housing.idx=="test", ]

train_sd1 = sd(train$tax) #앞 80% 데이터의 원 표준편차
median_train = median(train$tax)
train$tax[is.na(train$tax) = median_train
train_sd2 = sd(trian$tax) #앞 80%의 데이터의 보정 표준편차

diff = abs(train_sd1 - train_sd2) #절대값으로 값차이만 보이게 한다

#library(dplyr)
ds = read.csv("insurance.csv", stringAsFactors = F)
ds.mean = mean(ds$charges) #charges의 평균값
ds.sd = sd(ds$charges) #charges의 표준편차

outlier_upper = ds.mean + ds.sd * 1.5
outlier_lower = ds.mean - ds.sd * 1.5

outlier_sum = ds >%> filter(charges <= outlier_lower | charges >= outlier_upper) #필터링하기
                 >%> summarise(sum = sum(charges)) #합계구하기
728x90