세로형
Recent Posts
Recent Comments
Link
11-25 00:03
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

R 데이터 다루기(filter, select, summarise ,정렬 등)를 공부해봐요 본문

R

R 데이터 다루기(filter, select, summarise ,정렬 등)를 공부해봐요

이수진의 블로그 2017. 11. 9. 13:04
반응형
728x170

R에서 데이터를 다루는 방법은 여러가지가 있습니다.

이번 포스팅은 dplyr 라이브러리를 이용해서 데이터를 다루는 방법을 공부해볼까 합니다

 

먼저 데이터 행(row)값을 추출하는 방법입니다!

아래 그림처럼요~

내가 class가 1인 사람들의 정보만 출력하고 싶을 때가 있을겁니다

그럴때 사용하는 방법이죠~

 

먼저 dplyr 라이브러리를 가지고 옵니다

설치가 안되어 있다면 install.packages로 설치하세요~

그리고 csv파일을 읽어와서 진행을 해보겠습니다

%>% 라는 것은 출력하라는 겁니다

exam 데이타 프레임에 있는 것을 출력을 하는데 class가 1인 데이터만 filter해서 추출해라! 이거죠

 

반응형

그렇게 출력하면 위와 같이 출력이 됩니다

조건을 다르게 하면 다르게 출력이 가능해요~ 아래처럼요

 

 

영어가 60점 초과 또는 수학 점수가 60점 이상인 데이터만 출력 등 여러 조건으로 출력이 가능합니다

그리고 %in% 기능이 있습니다

이것은 %in% c(1,2,3) 만약 이렇게 하면요

1,2,3 중 매칭되는 것이 있는가? 라고 물어보는 것과 비슷하다고 보시면 됩니다

 

 

위 처럼요!

그래서 class가 1, 3, 4인 데이터만 출력하게 됩니다~

또한 열 값만 추출해서 보고 싶을 때도 있을겁니다

아래 그림처럼요

 

 

이렇게 뽑고 싶으시면 select( ) 문을 이용하시면 됩니다

 

math 열만 가지고 와서 data2에 넣습니다

그리고 출력하면 아래처럼 됩니다

 

300x250

그리고 select( )안에 여러개의 값을 넣을 수 있습니다

-를 넣으면 이 값을 제외한 나머지를 출력하라는 것이 되죠

위 사진처럼요~

꽤나 재밌습니다

그리고 조합도 가능합니다

filter로 class=1인 데이터만 추출해서 그 중 math 값만 추출하는 것처럼요~

 

위 처럼 하면 됩니다

 

 

출력값을 보면 class가 1인 데이터 그리고 그 데이터의 math값을 출력합니다

 

이번엔 정렬을 해볼까요?

arrange( )를 통해 데이터를 정렬할 수 있습니다

desc()값을 넣지 않으면 오름차순으로 정렬합니다

즉 작은 값이 맨 위에 나오죠

desc( )를 넣으면 내림차순으로 진행됩니다.

math값을 넣으면 math값이 가장 높은 데이터부터 출력되게 하는거죠~

위 처럼요~

 

그리고 변수를 추가하는 방법이 있는데요~

 

 

 

 

화살표 위, 아래로 2가지 방법입니다.

위는 가장 기본적인 방법입니다. 아래는 mutate라는 함수를 써서 사용하는 겁니다

아래 사진을 보시면 차이점이 나옵니다.

 

mutate를 사용하면 mutate(aa = ifelse(age < 30, ~~) 등으로 할 수 있기 때문에

조건을 걸 수 있는게 편리합니다

 

summarise라는 것도 있습니다.

summarise는 mean(), sum(), min(), max(), n()등의 함수와 같이 많이 쓰입니다.

 

 

 

 

 

위 사진들 처럼요~

 

그리고 group by를 이용하면 더 강력한 데이터를 뽑을 수 있습니다.

만약 group by(class)를 하면 반별로 데이터를 추출 할 수 있는 것이죠

아래는 그 예시입니다.

 

 

 

 

 

 

 

 

반응형
그리드형
Comments