2014-02-26 2 views
0

여기에 막혔습니다. 하나만 제외하고 모든 행을 삭제하려고합니다 (열의 요소를 기반으로 모든 행 대신 하나만 유지).행 요소가 두 개 이상있는 행 삭제

내 데이터는 다음과 같습니다

row  Name  Nr  V Gmd  Kt 
1 Aadorf  8355  0 Aadorf TG 
2 Aarau  5004  0 Aarau AG 
3 Aarau  5000  0 Aarau AG 
4 Aarau  5032  0 Aarau AG 
5 Aetigkofen 4583  2 Buchegg SO 
6 Aetingen 4587  0 Buchegg SO 
... 

내가 첫 번째 "아라우"첫 번째 "Buchegg"등이 그 같이해야 유지하려면 :

row  Name  Nr  V Gmd  Kt 
1 Aadorf  8355  0 Aadorf TG 
4 Aarau  5032  0 Aarau AG 
6 Aetingen 4587  0 Buchegg SO 
... 

가 감사를 당신의 도움을 위해 아주 많이!

답변

1

당신은 단지 duplicated를 사용할 수 있습니다

## duplicated creates a logical vector 
duplicated(mydf$Gmd, fromLast=TRUE) 
# [1] FALSE TRUE TRUE FALSE TRUE FALSE 

## You can use that vector to subset the rows you want 
mydf[!duplicated(mydf$Gmd, fromLast=TRUE), ] 
# row  Name Nr V  Gmd Kt 
# 1 1 Aadorf 8355 0 Aadorf TG 
# 4 4 Aarau 5032 0 Aarau AG 
# 6 6 Aetingen 4587 0 Buchegg SO 

변경 당신이 실제로 무엇을 찾고 있는지에 fromLast 인수 - 원하는 출력과 일치하지 않는 것 당신의 설명입니다.

+0

@ 토마스,? 나는 당신의 의견을 이해하지 못합니다. 새 오브젝트에 출력을 다시 할당 했습니까? – A5C1D2H2I1M1N2O1R2T1

+0

예, 불편을 끼쳐 드려 죄송합니다. 지금 작동합니다 ... – Thomas