저는 주로 Mac에서 Rstudio를 사용합니다. 최근에는 Windows를 사용해야했습니다. 그러나 unique()이 키를 기반으로 data.table에 고유 한 행을 제공하지 않는다는 것을 알게되었습니다. 다음은 예입니다.유니크는 더 이상 기본값으로 키를 사용하지 않습니다
a=c(2,3,3,3,3,5,6,7)
b=c("a","a","f","g","a","d","t","l")
e=data.table(a,b)
setkey(e, a)
key(e) # this works fine
unique(e)
unique()은 전체 행 (5 행)에 대한 복제본 만 제거합니다. 정확히 동일한 코드가 내 Mac에서 잘 실행됩니다.
두 데이터 테이블 버전이 다르기 때문입니다. Mac의 경우 <1.9.8 버전이지만 Windows의 경우 최신 버전입니다. 제발, '? unique'의 문서를 읽으십시오. "* 기본적으로 모든 열을 사용하고 있으며 최근 data.frame 메소드와의 일관성을 위해 변경되었습니다. <1.9.8 버전에서는 key (x) *가 기본값이었습니다." 그런 다음 자신의 Windows에서'unique (e, by = "a")'를 시도하십시오. –