일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 텍스트분석
- bayesian
- GNN
- 텍스트마이닝
- 백준
- Graph
- pytorch
- 파이썬
- 알고리즘
- AI
- 코딩테스트
- 논문리뷰
- R
- 빅데이터
- YarinGal
- VAE
- 불확실성
- PYTHON
- pandas
- dropout
- Crawling
- 우분투
- 강화학습
- selenium
- 베이지안
- 데이터분석
- 크롤링
- 리눅스
- DATA
- uncertainty
- Today
- Total
끄적거림
[R쓸신잡] directory, path 설정 본문
분석을 처음 임하기 전에 가장 먼저 설정하는 것이 바로 작업환경 설정이다.
R은 다른 언어에 비해 작업환경 경로를 세팅하여 작업하는 활용도가 높다.
작업환경을 설정하는 방법에 대해 몇 가지 방법을 설명하겠다.
1. 하드코딩
가장 쉬운 방법이자 가장 위험한 방법이다. 코드와 같이 원하는 경로를 직접 입력하는 방법이다.
path <- "C:/Users/[User name]/Desktop/KW/test.csv"
setwd(path)
getwd()
이 방법의 단점을 꼽자면,
1) 경로를 복사 붙여넣기 하면 역슬래쉬(\)로 구분되기 때문에 이를 슬래쉬(/)로 바꿔줘야 하는 번거로움.
2) 해당 파일 혹은 폴더가 고정되어 있는 경로에 존재해야한다는 점.
등이 있을 수 있다.
1.1) 하드코딩 - tab 사용
직접 복사 붙여넣기를 안한다면 주소를 직접 쓰면서 tab을 활용하는 방법이 있다.
문자열에서 C:/를 입력하고 tab버튼을 누르면 위 그림과 같이 하위 파일과 폴더리스트를 확인할 수 있다. 여기서 원하는 경로를 선택하고 이를 반복적으로 수행하면 원하는 경로까지 도달할 수 있다.
그냥 복:붙 하는 것 보다는 좀 더 UI적으로 편안해진 듯 하다. 하지만 이 역시 뭔가 좀 부족하다. 경로의 정확한 위치를 알기 힘들때는 사용하기가 부적절하다.
2. 함수 활용 feat. choose.files( ) , choose.dir( )
UI적으로 좀 더 편리한 방법이 뭐가 있을까? 바로 choose.files( ) , choose.dir( )를 이용하는 것이다. 우리에게 더 익숙한 UI는 choose.files( ) 함수가 더 좋아보인다.
저 파일 선택 창안에서는 새 폴더 추가(ctrl + shift + n), 상위 폴더 이동(Alt + 화살표 위 방향) 등 윈도우 단축키등이 다 먹히므로 굉장히 유용하게 쓰인다.
반면, choose.dir( ) 함수 같은 경우는 보기에도, 쓰기에도 불편한 감이 있다. 고로, choose.files( )함수를 적용하도록 하자. 해당 UI 는 PC를 사용하는 사람이라면 모두 친숙한 UI이기 때문에(하지만, 때에 따라 UI가 조금씩 바뀌는 경우도 있다.) R 프로그래밍을 하고, R을 잘 사용할 줄 모르는 분에게 인수인계할 때 더욱 유용할 수 있다.
여기서 주목해야할 부분이 path 객체의 출력 결과다. 각 상/하위 폴더의 구분을 두 번의 역슬래쉬(\\)로 표현했다. 즉, 탈출 문자이기 위해 흔히 사용하는 정규식 표현이다.
이를 좀 더 깔끔하게 바꿔주기 위해서 dirname( ) 함수를 사용해보자.
보이는 것처럼 dirname( )함수가 하는 일은 어떤 파일 따위의 주소만 추출해주는 역할을 한다.
지금까지 했던 내용을 종합하자면
path <- dirname(choose.files())
setwd(path)
getwd()
이렇게 3줄을 적어주면 유연한 경로 지정 코드가 완성된다.
추가로, 내가 지정한 혹은 지정된 경로에서 하위에 새로운 폴더를 생성하고 싶으면 아래의 코드를 실행시키면 된다.
dir.create("[path]/[원하는 폴더명]")
'R쓸신잡' 카테고리의 다른 글
[R쓸신잡] 문자열 원하는 포멧으로 출력(printf in C) (0) | 2020.07.07 |
---|---|
[R쓸신잡] benchmark 수행하기 (0) | 2020.06.22 |
[R쓸신잡] multi package install, import(library), update in R (0) | 2020.06.19 |
[R쓸신잡]DB연결 in R 패키지(RJDBC, RODBC, ROracle) benchmark (0) | 2020.06.18 |
[R쓸신잡]DB연결 in R with ROracle package (0) | 2020.06.17 |