[R] 기초 데이터 분석에서 자주 쓰는 dplyr 패키지 내 함수 표현들 TOP10 (전처리에 유용한 filter, mutate, arrange 등)
안녕하세요.
토마토입니다🍅
제가 R을 처음 배웠을 떼 유용했던 표현들 정리해서 공유드립니다.
처음 시작할 때 주변에서는 'dplyr만 잘 알아도 충분할 정도다!' 라고 말했는데, 정말로 dplyr 패키지는 강력했습니다.

각설하고 바로 시작할게요!
각자의 상황에 맞게 바꾸어야 하는 부분들은 주황색으로 표기 되어 있습니다.
column_name : 함수를 적용할 컬럼명
dataframe_name: 대상 데이터프레임명
A. mutate
1. 조건 설정하기. 특정 값을 다른 값으로 대체 (예를 들어, 칼럼의 값 중 a인 것만 A로 바꾸고 나머지는 B로 한다)
mutate(column_name = ifelse(column_name == "a", "A", "B")
==자리에 < , > 등 응용 가능
조건을 여러개 활용하고 싶은 경우
mutate(column_name = ifelse(column_name == "a", "A", ifelse(column_name =="b", "B", "C"))
2. 데이터 타입 변경
mutate(column_name = as.numeric(column_name) -- 숫자형으로 변경)
mutate(column_name = as.integer(column_name) -- 정수형으로 변경)
##데이터 타입 유형 참고##
character (문자), numeric (실수), integer (정수), complex(복소수), logical (논리형: TRUE | FALSE)
3. 컬럼 이름 변경
mutate(atfer_change_name = before_change_name)
B. filter
4.특정 문자 포함값만 남기기or 제거
filter(str_detect(column_nm, "문자열")==TRUE/FALSE 중 선택))
## "문자열" 들어가는 자리에 활용 가능한 조건들##
& = and
| = or
%in% =특정값을 포함하는지 여부
C. arrange
5. 컬럼 값 정렬하기
arrange(column_name) -- 기본 오름차순 설정
arrange(desc(column_name) -- 내림차순
D, E, F- 1 SET로 자주 활용
D. select
6. 특정 컬럼만 선택
select(column_name1, column_name2, column_name3 ...)
E. group by
7. 그룹화 시키기
group_by(column_name1, column_name2, column_name3 ...)
F. summarise
8. group_by 처리 후 컬럼 끼리의 값 계산 (평균, 합계 등)
summarise(colmun_name1= mean(colmun_name1), colmun_name2 = sum(colmun_name2))
특정 칼럼의 값이 몇 개인지 확인 (예를 들어 a,b,c,d,e 데이터가 있는 컬럼 A에서 a의 개수는?)
summarise(new_column_name= n_distinct(colmun_name))
G. 결측값(NA)
9.데이터 프레임 내 모든 컬럼별 결측치 확인
colSums(is.na(dataframe_name))
10.결측값을 0으로 처리
dataframe_name[is.na(column_name)] <- 0
(데이터 프레임 내의 na 값을 0으로 처리한다. 물론 문자형은 실행 되지 않는다)
dataframe_name$column_name[is.na(column_name$column_name)] <- 0
(다음과 같이 특정 컬럼 내 na값만 0으로 처리 되도록 응용 가능하다)

11.결측값을 제거
dataframe_name <-na.omit(dataframe_name) -- 데이터 프레임 내의 한가지 값만 na 여도 해당 na 값 포함된 행 삭제. 데이터 프레임 내 na 값이 하나도 없는 상태
dataframe_name <-na.omit(dataframe_name$column_name)
dataframe_name$column_name[is.na(column_name$column_name)] <- 0
이상 간단하게 정리해보았는데요.
다음편에서도 간단하지만 유용한 표현들, 공유 드리겠습니다.
읽어주셔서 감사합니다:)