지방이의 Data Science Lab

[R] 이상치 or NA 처리 본문

Data Analysis/Data Preprocessing

[R] 이상치 or NA 처리

[지현] 2019. 12. 28. 17:19

["NA" to NA]

1
data = mutate_all(data, funs(replace(., .=='NA', NA)))

 


[Mean Imputation]

1
data$AGE[data$USERID=="홍길동"= mean(mean(data$AGE[!is.na(data$AGE)])) 

[이상치]

#1. 0보다 작을 수 없는 경우인데 0보다 작게 나온 데이터 이상치 삭제

1
2
idx = which(S_table$Sales.M.2015<0|S_table$Order.M.2015<0)
S_table = S_table[-idx,]
 

-

#2. inf일 수없는데 inf로 나온 데이터 이상치 삭제

 

 
idx=which(is.infinite(S_table$Sales.M.201)|is.infinite(S_table$Order.M.2015))
S_table<-S_table[-idx,]
 
 
 

 

 


 

[Missing 처리]

(1)reg imputation

1
2
3
4
5
6
7
attach(auto);reg=lm(Rep78~ Price+Mpg+Weight+Length)
summary(reg)
coeff=coefficients(reg)%>%as.vector
regcol=cbind(Price,Mpg,Weight,Length);imputation=Rep78
for (i in which(is.na(Rep78))%>%as.vector){imputation[i]=t(coeff[-1])%*%regcol[i,]+coeff[1]}
 
#coeff[-1]은 베타 0를 뺀 나머지. coeff[1]은 베타 0
 

 

(2)Missing값을 중위값으로 채워주기 =Imputing missing values using median

1
2
3
preProcValues = preProcess(data, method = c("medianImpute","center","scale"))
library(RANN)
data_processed = predict(preProcValues, data)
 

 

 

'Data Analysis > Data Preprocessing' 카테고리의 다른 글

[R] 데이터 시각화를 위한 데이터 전처리  (0) 2020.06.29
R: Preprocessing  (0) 2019.11.04
Comments