컴퓨터/R

R - 중복 제거 / 정렬

해피밀세트 2020. 4. 13. 13:11

 

 

중복 제거

# 중복되는 값 제거

unique(emp$JOB_ID)
unique(emp$DEPARTMENT_ID)

# na.omit() : 데이터셋에 들어가 NA값 빼기

na.omit(unique(emp$DEPARTMENT_ID))

# 숫자형으로 변환

as.integer(na.omit(unique(emp$DEPARTMENT_ID)))

 


정렬

x <- c(3,2,5,4,1,NA,8,NA,6)

x

# 기본 정렬

sort(x)

sort(x, decreasing=FALSE)

sort(x, decreasing=TRUE)

sort(x, decreasing=TRUE, na.last=NA)    # 기본값

sort(x, decreasing=TRUE, na.last=TRUE)

sort(x, decreasing=TRUE, na.last=FALSE)

# 역순

rev(sort(x))

 

# order : 정렬의 색인을 반환

x

sort(x)

order(x)

order(x,decreasing=FALSE)

order(x,decreasing=TRUE)

order(x, decreasing=TRUE, na.last=NA)

order(x, decreasing=TRUE, na.last=TRUE)

order(x, decreasing=TRUE, na.last=FALSE)

x[order(x)]

x[order(x, decreasing=TRUE, na.last=FALSE)]

 

 

doBy

: 데이터 프레임을 정렬 할때 많이 사용하는 정렬

 

# 라이브러리 설치

install.packages("doBy")

library(doBy)

 

# 기존방식

emp[order(emp$SALARY, decreasing = F),c("LAST_NAME","SALARY")]

# salary 기준으로 오름차순
orderBy(~SALARY,emp[,c("LAST_NAME","SALARY")])

# salary 기준으로 내림차순

orderBy(~-SALARY,emp[,c("LAST_NAME","SALARY")])

# 정렬을 해야하는 컬럼은 무조건 데이터셋 안에 있어야한다.

# 오름차순 : DEPARTMENT_ID / 내림차순 : SALARY

orderBy(~DEPARTMENT_ID -SALARY,emp[,c("LAST_NAME","SALARY","DEPARTMENT_ID")])

 

# 오름차순 : SALARY / 내림차순 : DEPARTMENT_ID

orderBy(~-DEPARTMENT_ID +SALARY,emp[,c("LAST_NAME","SALARY","DEPARTMENT_ID")])

 

반응형

'컴퓨터 > R' 카테고리의 다른 글

R - apply  (0) 2020.04.13
R - 그룹 함수  (0) 2020.04.13
R - 함수 ③ 날짜 함수  (0) 2020.04.10
R - 함수 ② 숫자 함수  (0) 2020.04.10
R - 함수 ① 문자 함수  (0) 2020.04.10