2014-04-25 5 views
0

저는 R에 약간 익숙하며 데이터 프레임을 출력하는 함수를 사용하려고합니다. 중복 제거가 필요한 여러 데이터 프레임이 있습니다. 데이터 프레임의 각 레코드에는 인덱스 변수 (RecID)와 환자 ID (PatID)가 있습니다. 환자가 데이터 프레임에 여러 번 나열되면 가장 큰 레코드 RecID를 선택하려고합니다.출력 데이터 세트가있는 R 함수

나는이 데이터 프레임을 변경할 수 있도록하려면 :

PatID RecID 
1  1 
1  2 
2  3 
3  4 
3  5 
4  6 

이 dataframe

PatID RecID 
1  2 
2  3 
3  5 
4  6 

내가 성공적으로 dataframe을 중복 제거하려면 다음 코드를 사용할 수 있습니다 속으로.

df <- df[order(df$PatID, -df$RecID),] 
df <- df[ !duplicated(df$PatID), ] 

중복 코드 제거 스키마를 여러 데이터 프레임에 쉽게 적용 할 수 있도록이 코드를 사용하여 함수를 만들었습니다. 내가 코드 dedupit(df)을 사용 넣으면

dedupit <- function(x) { 
    x <- x[order(x$PatID, -x$RecID),] 
    x <- x[ !duplicated(x$PatID), ] 
    } 

그러나, 그것은 중복 제거 records.The 기능을 가진 새로운 안양 dataframe를 만들지 않습니다 출력되지 최종 dataframes 또는 중간 dataframes의 것이다. 함수 출력 데이터 프레임을 갖는 방법이 있습니까?

+2

함수에서 돌아와야합니다. defn 함수의 마지막 줄에'return (x)'를 써라. – infominer

+0

아하. 감사. 그것은 도움이되었다! – Darkong

답변

0

함수 끝에 return (x)을 넣어야합니다.

관련 문제