데이터 정렬하기
데이터를 정렬하는 함수는 sort / oder 가 있다. Vector 데이터는 주로 sort( )를, Matrix 데이터는 order( )를 사용한다.
> a <- c(1, 4, 5, 3, 3, 7)
> sort(a)
> order(a) # 값의 순위값(위치)을 나타낸다
> sort(a, decreasing = T)
> order(a, decreasing = T)
> tmp1 <- data.frame(AA = c("A", "A", "B", "C", "D"), BB = c(5, 3, 6, 1, 2))
# 컬럼 BB에 대하여 오름차순 정렬
> tmp1[order(tmp1$BB), ]
# 컬럼 BB에 대하여 내림차순 정렬
> tmp1[order(tmp1$BB, decreasing = T), ]
문자열 처리
문자열 처리에는 paste / substring / strsplit / grep / sub / toupper / tolower 등의 함수가 사용된다.
paste( )
# 문자열을 합친다.
> paste("Hi", " R ", "!!", sep = "")
> paste("Hi", " R ", "!!", sep = "-")
substring( )
# 문자열을 사용자 정의에 따라 자른다.
> a <- "apple"
> substring(a, 1, 2) # a의 첫 번쨰 자리부터 두 번째 인덱스까지
strsplit( )
# 문장을 구분자 단위로 나눌 떄 사용한다.
> strsplit("A text I want to display with space", " ") # 공백을 단위로 나눈다.
grep( )
# 문자열 또는 단어에서 특정 단어를 찾기위해 사용한다.
> text <- c("arm", "foot", "left", "right", "example", "foobar")
> grep("foo", text)
sub( )
# 문자 뒤의 공백 제거
> str <- "test "
> sub(" +$", "", str)
toupper( ) / tolower( )
# 대문자 또는 소문자로 바꾸기
> aa <- "pineapple"
> toupper(aa)
> bb <- "PINEAPPLE"
> tolower(bb)
날짜변환 및 처리
현재 날짜정보 표출
# 요일 / 월 / 일 / 시 / 분 / 초 / 년도
> date()
# 년 / 월 / 일 / 시 / 분 / 초
> Sys.time()
# 년 / 월 / 일
> Sys.Date()
weekdays( ) / months( )
# 요일 추출
> weekdays(Sys.Date())
> weekdays(seq(Sys.Date(), length.out = 10, by = "1 days"))
# 월 추출
> months(Sys.Date())
# 문자열 날짜형태로 변환
> as.Date("20191215", "%Y%m%d")
# 문자열 날짜형태로 변환 후 10일 추가하여 결과 출력
> as.Date("20191215", "%Y%m%d") + 10
# 분단위 값의 차이값 출력
> z <- as.difftime(c(0, 30, 60), units = "mins")
# 분단위 차이값 초단위로 출력
> as.numeric(z, units = "secs")
# 분단위 차이값 시간단위로 출력
> as.numeric(z, units = "hours")
> format(z)
'해보記 > R' 카테고리의 다른 글
<記> R 함수 - 문자형 (0) | 2019.12.17 |
---|---|
<記> R 함수 - 데이터 요약, 대푯값, 정렬 (0) | 2019.12.17 |
<記> R 데이터 핸들링 (2) (0) | 2019.12.13 |
<記> R 데이터 핸들링 (1) (0) | 2019.12.10 |
<記> R 연산자 (0) | 2019.12.06 |