Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[R] data.frame에서 조건에 맞는 row 필터링하기 Computer & Program

data.frame에서 조건에 해당하는 row만 필터링하고 싶다.
아래와 같은 data.frame에서 group이 A인 row만 꺼내고 싶을 때는 subset()을 사용하면 된다.

> Data <- data.frame('Row'=1:8, 'Conc'=sample(c(1:20), 8), 'group'=sample(LETTERS[1:4], 8, replace=TRUE));
Row Conc group
1 1 2 D
2 2 13 D
3 3 4 C
4 4 6 A
5 5 1 A
6 6 12 A
7 7 16 B
8 8 11 C

> subset(Data, group=='A');
Row Conc group
4 4 6 A
5 5 1 A
6 6 12 A


여러 조건을 지정할 수도 있다.

> # group이 A, B, C인 것들만 필터링
> subset(Data, group %in% c('A', 'B', 'C'));
Row Conc group
3 3 4 C
4 4 6 A
5 5 1 A
6 6 12 A
7 7 16 B
8 8 11 C

> # group이 A, B, C인 것들과 Conc가 홀수인 것들만 필터링
> subset(Data, group %in% c('A', 'B', 'C') & 1 == (Row %% 2));
Row Conc group
5 5 1 A
8 8 11 C



- 참고
Quick-R: Subsetting Data

덧글

댓글 입력 영역

Google AdSense (text/image)