Page 30 -
P. 30
3.1.2 절대 경로와 상대 경로
현재 사용 중인 프로젝트의 작업 디렉터리는 다음과 같다.
> getwd()
[1] "D:/Workspaces/learn-r-programming"
이전에는 작업 디렉터리를 다룰 때 \가 아닌 /를 사용했는데, 아마 기억할 것이다. 윈도 시스템
에서는 경로를 구분하는 기호로 \를 기본적으로 사용한다. 하지만 이 기호는 특수 문자를 표시
하는 데 이미 사용하고 있다. 예를 들어 문자형 벡터를 생성할 때 줄 바꿈을 하는 데 \n을 사용할
수 있다.
> "Hello\nWorld"
[1] "Hello\nWorld"
이 특수 문자는 문자형 벡터를 문자열 그대로 직접 출력할 때는 그대로 보존된다. 하지만 cat()
함수를 사용하면 이스케이프 문자를 줄 바꿈을 표시하는 문자로 인식하여 출력한다.
> cat("Hello\nWorld")
Hello
World
두 번째 문자가 줄 바꿈 된 후에 정상적으로 시작하는 것을 볼 수 있다. 하지만 \가 정말 특별하다
면 문자열에서 \ 문자 자체를 어떻게 사용할 수 있을까? \\로 입력하면 된다.
> cat("The string with '\\' is translated")
The string with '\' is translated
따라서 이러한 이유로 윈도 시스템에서 파일 경로를 표기할 때는 \\나 /를 사용한다. macOS나
리눅스 등 유닉스 계열의 시스템에서는 간단히 /를 사용한다. 윈도 사용자가 \를 잘못 사용하면
다음 오류 메시지를 표시한다.
> filename <- "d:\data\test.csv"
Error: '\d' is an unrecognized escape in character string starting ""d:\d"
오류가 표시되지 않게 하려면 다음과 같이 입력해야 한다.
> filename <- "d:\\data\\test.csv"
98
r교과서_07.indd 98 2020-04-09 오후 4:21:27