2022년 09월 02일 컨디션 저하로 인한 미실습 내용 독학
1) dplyr 패키지 활용
◈ 파이프 연산자(%>%) 이용
# iris 데이터셋을 대상으로 '%>%' 연산자를 이용하여 함수 적용하기
#dplyr 패키지 설치 및 메모리 로드
install.package("dplyr")
library(dplyr)
iris %>% head() # iris 전체 데이터 셋의 앞부분 6개 관측치 추출
# 위 iris 전체 데이터 셋의 헤드 부분에 대하여
iris %>% head() %>% Sepal.length >= 5.0
# 과 같이 해당하는 부분의 조건에 만족하는 값만 추출할 수 있다
%>% 연산을 통해 위와 같이 일정 영역에서도 조건에 만족하는 값만 추출할 수 있다
2) 데이터프레임 합치기
dplyr 패키지에서 제공하는 bind_rows() 함수 형식을 알아보자
# 새로운 데이터프레임 생성
df1 <- data.frame(x = 1:5, y = rnorm(5))
df2 <- data.frame(x = 6:10, y = rnorm(5))
> df1
x y
1 1 0.4646093
2 2 0.6155059
3 3 1.6607016
4 4 0.3323401
5 5 1.6360765
> df2
x y
1 6 0.01869298
2 7 0.20671615
3 8 0.66928676
4 9 -0.86473392
5 10 0.75551834
새로운 데이터 프레임을 생성하여 각각 df1, df2 라는 변수로 지정해 주었다
아래와 같이 bind_rows() 함수를 사용해 합쳐보자!
df_rows <- bind_rows(df1, df2)
df_rows
x y
1 1 0.46460930
2 2 0.61550587
3 3 1.66070162
4 4 0.33234013
5 5 1.63607655
6 6 0.01869298
7 7 0.20671615
8 8 0.66928676
9 9 -0.86473392
10 10 0.75551834
>>> bind_rows(1번 데이터, 2번 데이터) 와 같이 사용하여 행 단위로 합칠 수 있다.
>>> df1의 5개 관측치 바로 다음에 데이터프레임 df2의 관측치 5개가 행 단위로 합쳐지는 걸 볼 수 있다.
이번엔 열 단위로 합쳐보자
df_cols <- bind_cols(df1, df2)
df_cols
x...1 y...2 x...3 y...4
1 1 0.4646093 6 0.01869298
2 2 0.6155059 7 0.20671615
3 3 1.6607016 8 0.66928676
4 4 0.3323401 9 -0.86473392
5 5 1.6360765 10 0.75551834
>>> bind_cols() 함수를 사용해 데이터프레임 df1의 5개 관측치와 df2의 5개 관측치를 열 단위로 합친다.