2016-11-01 4 views
-5

나는 간단한 질문이 있습니다. 내가> = 10 & 나이 = 15 <을 필터 AGE 필요, 다만 주문 = 1의 경우특정 변수를 사용하는 R의 다중 조건

 Name AGE Order 
     Anna 25 1 
     Anna 28 2 
     Peter 10 1 
     Paul 15 1 
     Mary 14 1 
     John 8  1 
     Charlie 24 2 
     Robert 20 2 

: 나는 큰 DF 같은 있습니다. 따라서 출력 파일은 다음과 같아야합니다.

 Name AGE Order 
     Anna 28 2 
     Peter 10 1 
     Paul 15 1 
     Mary 14 1 
     Charlie 24 2 
     Robert 20 2 

도와 주시겠습니까? 그대로

+0

문제는 무엇입니까? – Carcigenicate

+0

http://www.statmethods.net/management/subset.html – Jakub

+0

죄송합니다. Order = 1의 경우 필터 AGE> = 10 & AGE <= 15가 필요합니다. – Cris

답변

1

우리는 AGE는 10 ~ 15의 범위에있는 경우 Order = 1 확인을 위해

ifelse를 벡터화 사용할 수 있습니다, 나머지 행을 선택합니다.

df[ifelse(df$Order==1, df$AGE >= 10 & df$AGE <= 15, TRUE), ] 

# Name AGE Order 
#2 Anna 28  2 
#3 Peter 10  1 
#4 Paul 15  1 
#5 Mary 14  1 
#7 Charlie 24  2 
#8 Robert 20  2 

우리는 또한에 통합 할 수 있습니다 :

subset(df, AGE >= 10 & AGE <= 15 | Order != 1)