2014-02-19 2 views
1

초보자입니다. MASS 패키지에있는 Boston 데이터 세트로 작업하고있었습니다.보스턴 데이터 세트, 값 기반 다중 필터

> boston2<-subset(Boston, chas>0, age>50.0) 
> boston2 

내가 가진 결과 : 나는 시도보다 50.0

입니다 변수 "CHAS"의 값이 1/TRUE 변수 "시대"의 값이 기록을 얻기 위해 필터를 적용하고 싶었다 : 0 행과 35 행의 데이터 프레임

그러나 데이터 프레임에서 chas가 true이고 나이가 50보다 큰 모든 레코드를 원했습니다.

사용할 수있는 대체 방법은 무엇입니까? 그리고 필터링을 3/4/여러 변수로 확장 할 수있는 방법은 무엇입니까?

답변

1

당신은 다양한 논리 연산자를 사용하여 서로 다른 기준을 연결해야합니다

subset(Boston, chas > 0 & age > 50.0) 

은 자세한 내용을 보려면 ?Logic를 참조하십시오.

subset에 대한 설명서는 두 번째 인수 인 subset이 단일 논리식이어야 함을 지정합니다. 쉼표로 구분하면 R은 단일 표현식이 아닌 완전히 다른 인수로 해석합니다. 그래서 당신은 "모든 행하지만 열"을 얻을

subset(Boston, subset = chas > 0, select = age > 50.0) 

:

귀하의 시도에 해당합니다.

+0

알 수 있습니다. 함수 내에서 사용되는 모든 논리 연산자를 공부합니다. 감사! 또한 하위 집합이 최선의 방법이 아니며 [또는 [프로그램을 작성할 때 특히 좋습니다. 이 문제를 해결하는 데 사용할 수있는 대안이 있습니까? – vagabond

관련 문제