본문 바로가기
R

[R] paste() 와 file.path() 비교

by rubyda 2021. 3. 6.
728x90

paste() 함수와 file.path() 함수를 비교해 보도록 하겠습니다.

 

흔히 두개는 어떠한 두개의 인자를 받았을때 이어 붙여주는 역할을 하는 함수들로 알려져 있습니다.

 

실제로 한번 간단하게 코딩을해 확인해보도록 하겠습니다.

 

paste("a","b")
file.path("a","b")

[1] "a b"

[1] "a/b"

 

다음과 같이 결과가 나옵니다. 두가지 모두 두개의 인자를 이어 주는 역할을 하지만 그 이어주는 값 즉, separator의 차이가 존재합니다.

 

paste는 separator 기본값을 설정하지 않으면 " " 으로 처리하게 됩니다. 반면에, file.path는 separator 기본값이 "/"으로 처리하게 됩니다. 

 

만약 paste함수로 separator 값을 /로 사용하고 싶다면 다음과 같이 sep 옵션을 사용하면 원하는 결과를 출력할 수 있습니다.

paste("a","b", sep="/")

[1] "a/b"

 

file.path도 마찬가지로 fsep 옵션을 사용해서 다음과 같은 결과를 얻을 수 있습니다.

file.path("a","b", fsep = " ")

[1] "a b"

 

생각을 해본결과 두개의 차이점은 separator 기본값의 차이가 있습니다. 내가 만약 경로설정과 관련한 값이 필요하면 당연 file.path를 사용하는것이 더 효율적입니다. 하지만 경로설정이 아닌 다른 목적으로 사용한다면 두가지 중 아무거나 사용해도 상관이 없는것 같습니다.

 

다른 차이점이 존재할수도 있으니 혹시 공부를 하며 더 알게된점이 있다면 추가하다록 하겠습니다.