Stop fiddling around with copied paths in Windows R

[This article was first published on Rcrastinate, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I work with R on both Mac OS and Windows. On Windows, you get the option to copy the path of a file or folder by holding Shift while right-clicking on the file or folder. As useful as this feature is, it copies paths to your clipboard in Windows format, e.g. “C:UserssomeoneDocumentsRscriptssomeprojectpreparations.R”

That is not very nice to use in R scripts because you would have to replace every single backslash by a slash or a double backslash to use it. In this (also in other ways) very useful post, I found a nice solution for this.

By putting a function definition into your startup file (e.g., .Rprofile), you can simply put
.repath()
into the R console, paste your path and hit Return twice. The “de-windowsified” path is then in your clipboard. Here is the function definition:

.repath <- function() {
   cat(‘Paste windows file path and hit RETURN twice’)
   x <- scan(what = "")
   xa <- gsub('\\', '/', x)
   writeClipboard(paste(xa, collapse=” “))
   cat(‘Here’s your de-windowsified path. (It’s also on the clipboard.)n’, xa, ‘n’)

 }

One nice thing about this (you R experts may of course know this) is that the function does not show up in RStudio’s Environment section, because it is hidden by the dot before the name.

Thanks, Tom for this answer.

To leave a comment for the author, please follow the link and comment on their blog: Rcrastinate.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)