숫자함수
1. round(숫자,출력할자리수)
: 숫자를 지정한 자릿수를 기준으로 반올림
45 . 926
-10 123
2. signif(숫자,출력할자리수)
: 지정한 자리수까지 반올림
45 . 926
12 345
3. ceiling(숫자)
: x보다 크거나 같은 정수, 올림
ceiling(45.0000001) -> 46
4. trunc(숫자)
: 소수점은 절삭하는 함수, 소수점버림
trunc(45.926) -> 45
5. floor
: x보다 작은수 중에 가장 큰 정수를 나타내는 함수, 내림
floor(45.00001) -> 45
floor(-10.00001) -> -11
6. sqrt : 제곱근
sqrt(16) -> 4
7. abs : 절대값
abs(-1) -> 1
8. factorial : 팩토리얼(!)
factorial(3) -> 6
날짜함수
1. 현재날짜, 시간
Sys.Date()
Sys.time()
date()
2. as.Date()
: 문자날짜를 날짜형으로 변환하는 함수
class(as.Date('2022-01-11'))
class(as.Date('2022/01/11'))
as.Date('2022.01.11',format='%Y.%m.%d')
★format : 날짜모델요소
%Y : 년도4자리(세기포함)
%y : 년도2자리(세기미포함)
%m : 숫자달
%B : 문자달
%b : 문자달 약어
%d : 일
%A : 요일
%a : 요일 약어
%u : 숫자요일 1~7, 월요일 1
%w : 숫자요일 0~6, 일요일 0
%H : 시
%M : 분
%S : 초
%z : timezone 시간
%Z : timezone 이름
as.Date('2022년 1월 11일',format='%Y년 %m월 %d일')
as.Date('2022년 1월 11일',format='%Y년 %B %d일')
3. format 함수
: 날짜를 문자형으로 변환하는 함수
format(Sys.Date(),'%u')
4. weekdays(날짜)
: 요일을 출력하는 함수
format(Sys.Date(),'%A')
weekdays(Sys.Date())
5. 날짜계산
Sys.Date() + 100
as.Date('2021-12-16') - Sys.Date()
as.numeric(Sys.Date()-as.Date('2021-12-16'))
as.Date('2022-01-11',format='%Y-%m-%d') + 129
as.Date('2022-01-11') + 129
6. difftime(날짜1, 날짜2)
: 두 날짜간의 일수를 리턴하는 함수
as.integer(difftime(as.Date('2021-12-16'),Sys.Date()))
as.numeric(difftime(Sys.Date(),as.Date('2021-12-16')))
7. as.difftime()
: 시간으로 형을 변환하는 함수, 시간의 차이를 나타내는 함수
as.difftime('18:30:00') - as.difftime('09:30:00')
employees <- read.csv("c:/data/emp.csv",header=T)
[문제51]2002-06-07에 입사한 사원들의 last_name, hire_date를 출력하세요.
①
employees[employees$HIRE_DATE == as.Date('2002-06-07'),c('LAST_NAME','HIRE_DATE')]
②
employees[employees$HIRE_DATE == as.Date('20020607', format = '%Y%m%d'), c('LAST_NAME', 'HIRE_DATE')]
[문제52]사원의 last_name, 근무일수를 출력하세요.
data.frame(name=employees$LAST_NAME,
workingdays=as.integer(Sys.Date()-employees$HIRE_DATE))
[문제53]사원의 last_name, 입사한 요일을 출력하세요.
①
data.frame(name=employees$LAST_NAME,
day=weekdays(employees$HIRE_DATE))
②
data.frame(name=employees$LAST_NAME,
day2 = format(employees$HIRE_DATE,'%A'))
[문제54]근무연수가 15년 이상인 사원들의 last_name, hire_date, 근무연수를 출력해주세요.
years <- as.integer(Sys.Date()-employees$HIRE_DATE)/365
x <- employees[years>=15,c('LAST_NAME','HIRE_DATE')]
x$working_years <- as.integer(Sys.Date() - x$HIRE_DATE)/365
'R' 카테고리의 다른 글
[R] 중복제거, 정렬 (0) | 2022.01.13 |
---|---|
[R] lubridate 패키지 (0) | 2022.01.13 |
[R] 문자함수 (0) | 2022.01.12 |
[R] read.csv, 조건문, paste (0) | 2022.01.12 |
[R] 자료형 - 7.data frame (0) | 2022.01.12 |