본문 바로가기
R

[R.아르] 특정 조건을 만족하는 행만 추출하기

by LightBlogger 2016. 9. 5.

2016/08/30 - [R] - [R.아르] R 행,열 삭제 의 연장선상에서,


꼭 '몇 번째' 행만 뽑을 수 있는 것은 아니다.


특정 조건을 만족하는 행도 추출할 수 있다.


다음과 같은 x가 있다고 하자.



여기서 var 가 70 이상인 행만 뽑아내려면 다음과 같이 하면 된다.



맨 끝의 쉼표를 잊지 말자. 해당 조건을 만족하는 '행' 임을 알려주는 부분이다.


기본적으로 행과 열의 정의를 통해 위와 같이 추출하는 방법도 좋지만,


어쩌면 다음에 소개하는 subset()이 좀 더 마음에 들지도 모르겠다.



subset(데이터프레임, 조건) 은 조금 더 간단하고 직관적인 추출을 지원한다.


사잇값을 뽑으려면 and에 해당하는 '&' 기호를 사용하면 된다.



날짜도 마찬가지로 조건을 걸어 추출할 수 있다.


다음과 같은 x가 있다고 하자.



이번에는 name 열에서 원하는 날짜를 걸어 뽑아 보자.


앞서 했던 대로 다음과 같이 입력하면!



안되잖아?


x에 있는 2016-01-01 등의 자료가 날짜인지를 몰라서 그렇다. (메시지를 보면 '이 자료는 factor인데요?' 하고 묻고 있다)


날짜라고 살포시 알려주자. as.Date()



'일치하는 문자열'을 추출 조건으로 걸고 싶다면?


같음을 의미할 때는 =을 두개 연달아 ==와 같이 쓴다는 점만 유의하면 된다.


다음과 같은 x가 있다고 하자.



이 중에서 name이 a인 행만 추출하려면



이와 같이 하면 된다.


마지막으로 2016/08/30 - [R] - [R.아르] R 행,열 삭제 에서 이야기했던,


열 이름으로 열 삭제하는 방법을 알아보자.


subset()의 'select' 옵션을 이용해 다음과 같이 열을 선택할 수 있다.



subset()의 select 옵션에서는 '-' 기호를 사용해 다음과 같이 열 이름으로 열을 삭제할 수 있다.



반응형

댓글