Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Espressif
- homebridge
- Apple
- esp32
- 애플
- MQTT
- 공모주
- 배당
- raspberry pi
- 파이썬
- 엔비디아
- 해외주식
- 국내주식
- 월패드
- 오블완
- matter
- ConnectedHomeIP
- 힐스테이트 광교산
- 매터
- 현대통신
- RS-485
- 미국주식
- Bestin
- Python
- 티스토리챌린지
- 홈네트워크
- 코스피
- 퀄컴
- Home Assistant
- 나스닥
Archives
- Today
- Total
YOGYUI
R 스크립트 파일 경로 가져오기 본문
반응형
파이썬은 __file__ 변수를 통해 현재 실행되는 스크립트의 절대경로를 쉽게 가져올 수 있다
R은 이리저리 검색해보니 tidyverse 라이브러리를 사용한 함수를 활용하는게 제일 확실한 것 같다
출처: https://stackoverflow.com/questions/47044068/get-the-path-of-current-script
# install.packages("tidyverse")
library(tidyverse)
getCurrentFileLocation <- function()
{
this_file <- commandArgs() %>%
tibble::enframe(name = NULL) %>%
tidyr::separate(col=value, into=c("key", "value"), sep="=", fill='right') %>%
dplyr::filter(key == "--file") %>%
dplyr::pull(value)
if (length(this_file)==0)
{
this_file <- rstudioapi::getSourceEditorContext()$path
}
return(dirname(this_file))
}
shell에서 실행할 경우 명령줄 인자(argument)를 파싱해서 실행 스크립트 파일이 포함된 디렉터리의 경로를 반환하며, R Studio로 실행할 경우 rstudioapi의 getSourceEditorContext() 함수를 사용한다
위 함수를 사용해서 실행되는 스크립트 파일의 디렉터리를 작업경로로 설정할 수 있다
# install.packages("tidyverse")
library(tidyverse)
getCurrentFileLocation <- function()
{
this_file <- commandArgs() %>%
tibble::enframe(name = NULL) %>%
tidyr::separate(col=value, into=c("key", "value"), sep="=", fill='right') %>%
dplyr::filter(key == "--file") %>%
dplyr::pull(value)
if (length(this_file)==0)
{
this_file <- rstudioapi::getSourceEditorContext()$path
}
return(dirname(this_file))
}
setwd(getCurrentFileLocation())
반응형
'Software > R' 카테고리의 다른 글
R caret::preProcess - 수치형 데이터 정규화, 표준화 (0) | 2021.06.17 |
---|---|
R 회귀분석 모델 성능판단 - RMSE, MAE, R squared (0) | 2021.06.16 |
R pROC 패키지::ROC 커브 그리기, AUC 메트릭 계산하기 (0) | 2021.06.15 |
R NA 처리하기 (with dplyr) (0) | 2021.06.13 |
R 작업 경로(working directory, wd) Set/Get (0) | 2021.06.05 |