R의 벡터에 고유 한 값 나열


98

값이 복제되는 벡터의 고유 값을 나열하려면 어떻게해야합니까? 다음 SQL 문과 유사합니다.

SELECT DISTINCT product_code
FROM data

답변:


169

의미합니까 unique:

R> x = c(1,1,2,3,4,4,4)
R> x
[1] 1 1 2 3 4 4 4
R> unique(x)
[1] 1 2 3 4

12

데이터가 실제로 a factor이면 levels()함수를 사용할 수 있습니다.

levels( data$product_code )

요인이 아니지만 그래야하는 경우 factor()함수 를 사용하여 먼저 요인으로 변환 할 수 있습니다.

levels( factor( data$product_code ) )

위에서 언급 한 또 다른 옵션은 unique()기능입니다.

unique( data$product_code )

둘 사이의 주요 차이점 (에 적용될 때 factor)은 levels코딩되었지만 발생하지 않는 모든 수준을 포함하여 수준 순서로 문자형 벡터를 반환 한다는 것입니다. 발생하지 않는 수준은 생략 된 상태로 값이 처음 나타나는 순서대로 uniquea factor를 반환합니다 ( levels반환 된 요소 에 여전히 포함되어 있음 ).


8

부정 연산자 "!"와 함께 복제 함수를 사용해보십시오.

예:

wdups <- rep(1:5,5)
wodups <- wdups[which(!duplicated(wdups))]

도움이 되었기를 바랍니다.


7

R에서 sqldf 패키지를 사용할 수도 있습니다.

Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.