2016-07-20 3 views
1

현재 데이터를 더 작은 크기로 서브 세트하려고하는데 코딩 부분에 문제가 있습니다. 코드 작성에 완전히 빠졌습니다.동일한 변수가있는 행을 R으로 삭제합니다.

여기서는 동일한 항목이있는 모든 행을 제거하려고합니다. 따라서 코드는 3 열 "var 2"에서 동일한 변수가있는 모든 행을 제거해야합니다. duplicate 함수는 단지 "0"을 가진 두번째 엔트리를 제거 할 것이지만 "0"을 가진 두 엔트리를 없애고 싶습니다.

감사합니다. http://i.stack.imgur.com/esfSB.jpg

+0

예상 출력을 보여주세요. –

+2

데이터를 이미지로 게시하지 마시고, [재현 할 수있는 예제]를 제공하는 방법을 배우십시오. (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610) – Jaap

답변

1

dplyr 라이브러리를 사용하여 데이터 조작을 수행 할 수 있습니다. 그 깔끔한 도서관과 매우 도움이된다. 나는 당신의 문제를 해결하기 위해 다음 코드를 생각해 냈다. I는 동일한 변수의 결과를 저장하고

data_frame <- tbl_df(data_frame) %>% 
       group_by(var2) %>% 
       filter(n()==1) 

다음과 같이 데이터 프레임 변수라고 data_frame에 저장된다고 가정하면, 용액이다. 다른 변수 이름을 사용하여 원본 데이터 프레임을 그대로 유지할 수 있습니다.

0

여기서 우리는 어떤 값이 중복되는지 확인하기 위해 테이블을 사용하고 복제되지 않은 값에 대한 검색을 사용합니다.

df = table(data$Var2) 
data[!data$Var2 %in% as.numeric(names(df[df > 1])), ] 
0

우리는 또한 fromLast=TRUEduplicated는 모든 중복 행을 제거하기 위해 포함 할 수 있습니다.

df1[with(df1, !(duplicated(var2)|duplicated(var2, fromLast=TRUE)),] 
관련 문제