반응형
R - 난수 생성을 일별로 변경하기
R 에서 난수를 생성 또는 랜덤 샘플링 작업의 결과가 일별로 바뀌도록 하고 싶을 때가 있다.
방법은 간단하게 일별로 random seed 를 동일하게 맞춰주면 된다.
특정 날짜 '01/06/2022' 를 integer 형으로 변환하면 일별로 동일한 숫자가 나오도록 구현할 수 있다.
library(tidyverse)
dayYear <- as.Date(Sys.Date(),format='%d/%m/%Y') %>% lubridate::yday() %>% as.integer()
set.seed(dayYear)
sample(nrow(10)) # 같은 날에는 동일한 순서의 숫자 10개가 나온다.
주의할점은 값이 정수를 갖도록 as.integer 함수를 통해 변환해주어야한다.
(만약 double 인 경우, 실제 시드는 매번 달라진다. 이는 컴퓨터가 double 형을 메모리에 저장하는 방식 때문일듯하다.)
반응형
'Tools > R' 카테고리의 다른 글
R - 컬럼별 동일한 함수 적용을 위한 lapply 테크닉 (0) | 2022.09.05 |
---|---|
R - aggregate / separate_rows (0) | 2022.06.21 |
arulesViz 패키지 사용시 한글 안 나오는 문제 (0) | 2021.08.09 |
R 에서 한글 인코딩 파일 쉽게 읽어오는 팁 (0) | 2019.10.27 |
R - Windows 에서 devtools 로 R 패키지 설치 (0) | 2019.05.28 |
Deep Playinterested in data analytics and ML modeling