2017-12-29 8 views
0

다음은 제 데이터 프레임입니다.하드 코딩 열 이름이없는 마지막 열의 조건을 기반으로 R의 데이터 프레임 필터링

name m d1 d2 d3 d4 d5 
name1 m1 45 18 69 35 20 
name2 m2 34 19 16 25 0 
name3 m3 18 38 0 66 29 
name4 m4 52 9 58 84 0 
name5 m5 45 75 76 65 79 

아래와 같이 결과를 얻고 싶습니다. 기본적으로 마지막 열에 0이 있는지 확인한 다음 해당 행만 필터링합니다. 달러 ($) 기호를 사용하여 열 이름을 직접 사용하고 싶지는 않습니다.

name m d1 d2 d3 d4 d5 
name2 m2 34 19 16 25 0 
name4 m4 52 9 58 84 0 

답변

0

이것은 작동하는 것 같습니다. 마지막 열의 특정 조건을 만족하는 모든 행을 선택합니다. 나는 이것보다 더 좋은 방법이 틀림 없다고 확신하지만, 몇 가지 옵션을 시도한 후에, 이것은 나를 위해 일했습니다.

my.df[my.df[,ncol(my.df)] == 0,] 
+0

나는 더 좋은 방법이있을 것 같지 않습니다. R이 꽤 똑바로 보입니다. 정확하게 내 대답이 제안한 것입니다. – Dan

+0

예, 저는 ncol 일을 알고 있었지만 실제로 모든 행에 대해 올바른 결과를 얻을 수 없었습니다. 나는 대괄호로 어딘가에 엉망이었습니다. 그래도 팁 주셔서 감사합니다. – 221B

+0

다음 번 질문에 코드를 추가하는 것이 좋습니다. 그래서 어느 지역에 갇혀 있는지 분명히 알 수 있습니다. 필터링하는 방법을 알고 있지만 마지막 열을 처리하는 방법을 알지 못하는 것 같았습니다. 위의 코드는 R에서이 작업을 수행하는 관용적 방법이라고 생각합니다. – Dan

관련 문제