Загружаем каталог…
Загружаем каталог…
07 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기 결측치 정제하기 결측치란? 누락된 값, 비어 있는 값 결측치 찾기 df <- data.frame(sex=c("M","F",NA, "M","F"), score=c(5,4,3,4,NA)) df is.na(df) table(is.na(df)) table(is.na(df$sex)) mean(df$score) 결측치 제거하기 library(dplyr) df %>% filter(is.na(score)) #score가 NA인 data만 출력 df %>% filter(!is.na(score)) #결측치를 제외하고 행을 추출 df_nomiss <- df %>% filter(!is.na(score) & !is.na(sex)) df_nomiss df_nomiss2 <- na.omit(df) df_nomiss2 여러 변수 동시에 결측치가 없는 데이터를 추출하는 코드 df_nomiss <- df %>% filter(!is.na(score) & !is.na(sex)) 함수의 결측치 제외 기능 이용하기 수치 연산 함수들은 결측치를 제외하고 연산하도록 설정하는 na.rm 파라미터를 지원한다. 결측치를 제외하고 평균 산출 mean(df$score, na.rm = T) 결측치 대체하기 결측치를 다른 값을 대체하면 데이터가 손실되어 분석 결과가 왜곡되는 문제를 보완할 수 있다. mean(exam$math, na.rm = T) ## 55.23529 math가 NA면 55로 대체 exam$math <- ifelse(is.na(exam$math),55,exam$math) mean(exam$math) ## 55.2 이상치 정제하기 이상치란? 정상 범주에서 크게 벗어난 값 존재할 수 없는 값 제거하기 outlier <- data.frame(sex = c(1,2,1,3,2,1), score = c(5,4,3,4,2,6)) table(outlier$sex) ## 1 2 3 3 2 1 1이 3개, 2가 2개, 3이 1개 있다 ~ sex가 3이면 NA 할당 outlier$sex <- ifelse(outlier$sex == 3, NA, outlier$sex) 이해 어려웠던 코드 filter를 이용해 결측치를 제외한 후 성별에 따른 score 평균 구하기 outlier %>% filter(!is.na(sex) & !is.na(score)) %>% group_by(sex) %>% summarise(mean_score = mean(score)) %>%는 앞의 데이터를 뒤의 함수에 전달하는 파이프 sex를 기준으로 그룹을 나눠라.. 1그룹, 2그룹 이렇게 극단적인 값 제거하기 어디까지 정상 범위로 볼 것인가? boxplot(mpg$hwy) 아래쪽 극단치 경계, 1사분위수, 중앙값, 3사분위수, 위쪽 극단치 경계 -> 12~37을 벗어나면 극단치로 분류된다 결측 처리하기 mpg$hwy <- ifelse(mpg$hwy < 12 | mpg$hwy > 37, NA, mpg$hwy) table(is.na(mpg$hwy)) 극단치가 결측 처리된 데이터를 얻고 분석 수행 mpg %>% group_by(drv) %>% summarise(mean_hwy = mean(hwy, na.rm = T)) mpg 데이터를 가지고 다음 작업을 해라 -> drv 기준으로 그룹을 나눠 NA가 있으면 제거하고 평균을 계산해라 08 그래프 만들기 산점도 - 변수 간 관계 표현하기 산점도란? 데이터를 x축과 y축에 점으로 표현한 그래프 ggplot2 레이어 구조 (배경 설정 -> 그래프 추가 -> 설정추가) 배경설정하기 ggplot(data=mpg, aes(x=displ, y=hwy)) #mpg 데이터의 displ 변수를 x축에, hwy 변수를 y축에 놓고 배경을 설정한다 그래프 추가하기 geom_point() ggplot(data=mpg, aes(x=displ, y=hwy)) + geom_point() 축 범위를 조정하는 설정 추가하기 xlim() ylim() ggplot(data=mpg, aes(x=displ, y=hwy)) + geom_point() + xlim(3,6) #x축 범위를 3~6까지만 표현되도록 설정  ### 막대 그래프 - 집단 간 차이 표현하기 #### 평균 막대 그래프 만들기 1. 집단별 평균표 만들기 library(dplyr) df_mpg <- mpg%>% group_by(drv) %>% summarise(mean_hwy = mean(hwy)) df_mpg 2. 그래프 생성하기 ggplot(data=df_mpg, aes(x=drv, y=mean_hwy)) +geom_col() 3. 크기 순으로 정렬하기 ggplot(data=df_mpg, aes(x=reorder(drv, -mean_hwy), y=mean_hwy)) +geom_col()  ### 선 그래프 - 시간에 따라 달라지는 데이터 표현하기 geom_line() 추가하기 ggplot(data=economics, aes(x=date, y=unemploy))+geom_line() > geom_col() 막대그래프 - 요약표 geom_bar() 막대그래프 - 원자료 geom_line() 선 그래프 geom_boxplot() 상자 그림
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
Do it! 쉽게 배우는 R 데이터 분석 07~08. 07 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기 결측치 정제하기 결측치란? 누락된 값, 비어 있는 값 결측치 찾기 df % filter(is.na(score)) #score가 NA인 data만 출력 df %>% filter(!is.na(score)) #결측치를 제외하고 행을 추출 df_nomiss % filter(!is.na(score) & !is.na(sex)) df_nomiss df_nomiss2 % filter(!is.na(score) & !is.na(sex)) 함수의 결측치 제외 기능 이용하기 수치 연산 함수들은 결측치를 제외하고 연산하도록 설정하는 na.rm 파라미터를 지원한다. 결측치를 제외하고 평균 산출 mean(df$score,…
Открыть источник