Simple utility functions to read and write from the system clipboards of Windows, OS X, and Unix-like systems (which require either xclip or xsel.)
Install from CRAN
install.packages("clipr")
Or try the development version
::install_github("mdlincoln/clipr") remotes
library("clipr")
#> Welcome to clipr. See ?write_clip for advisories on writing to the clipboard in R.
<- read_clip() cb
clipr is pipe-friendly, and will default to returning the same object that was passed in.
<- write_clip(c("Text", "for", "clipboard"))
res
res#> [1] "Text" "for" "clipboard"
To capture the string that clipr writes to the clipboard, specify
return_new = TRUE
. Character vectors with length > 1
will be collapsed with system-appropriate line breaks, unless otherwise
specified
<- write_clip(c("Text", "for", "clipboard"), return_new = TRUE)
cb
cb#> [1] "Text\nfor\nclipboard"
<- write_clip(c("Text", "for", "clipboard"), breaks = ", ", return_new = TRUE)
cb
cb#> [1] "Text, for, clipboard"
write_clip
also tries to intelligently handle
data.frames and matrices, rendering them with write.table
so that they can be pasted into a spreadsheet like Excel.
<- data.frame(a = c(1, 2, 3), b = c(4, 5, 6))
tbl <- write_clip(tbl, return_new = TRUE)
cb
cb#> [1] "a\tb\n1\t4\n2\t5\n3\t6"
read_clip_tbl
will try to parse clipboard contents from
spreadsheets into data frames directly.
See the “Developing with clipr” vignette included with this package for advisories on writing code that calls clipr functions.
(a non-comprehensive list)