2016-08-18 3 views
1

내 데이터 세트 card.usage는 다음과 같습니다. 이 데이터 집합으로 R에서 필터 함수를 사용하여 행을 삭제하려면 어떻게해야합니까?

> head(card.usage) 
    dateYmd WithdrawMoney DepositMoney   title  extra 
1 2016-08-18   10000   0  국민조*기 인터넷 
2 2016-08-17   7300   0 롯데쇼핑(주)롯 체크우리 
3 2016-08-17   2500   0 메가박스(주) 체크우리 
4 2016-08-17    0  20000    조** 모바일 
5 2016-08-17   4200   0 서울모스 체크우리 
6 2016-08-14   2400   0 (주)코리아세븐 체크우리 

은 내가 열 depositMoney이 0 행을 제거하는 필터 기능을 사용하려면 고정해야한다, 그래서 나는 다음과 같은 코드

card.usage.filtered = Filter(function(x) { x$DepositMoney = 0}, card.usage) 

를 실행 시도 내가 행을 삭제하려는 것은 DepositMoney 열이 0이 아닌 행을 삭제하는 것입니다. 그러나 위의 필터 함수를 사용하면 모든 행이 손실됩니다. 고차 함수의 매개 변수는 벡터라는 것을 알고 있습니다. 특정 열에 어떻게 액세스 할 수 있습니까? 나는 그 예를 찾을 수 없다.

+0

에서 base R

card.usage.filtered <- subset(card.usage, DepositMoney ==0) 

또는 filter에서 subset을 사용할 수 있습니다 하위 집합 (card.usage, DepositMoney == 0) ' – akrun

+0

@akrun 위의 필터 기능? – verystrongjoe

+0

'필터'를 사용하면 열을 하위 집합으로 지정할 수 있습니다 – akrun

답변

0

이 base-r 기능을 사용하면됩니다.

card.usage.filtered <- card.usage[card.usage$DepositMoney==0,] 
1

우리는 당신이``dplyr` 즉`에서 subset` 또는`filter` 필요하다고 생각 dplyr

library(dplyr) 
card.usage %>% 
     filter(DepositMoney == 0) 
관련 문제