The trick is to use pipe files. Pipe files in R can be addressed through the pipe function. Next you need to know the proper name of the pipe file that corresponds to the Mac clipboard, which is “pbpaste”.
Once you put that all together, you have the correct syntax for the read.table command:
data <- read.table(pipe("pbpaste"), sep="\t", header=T)
In other words, pipe(“pbpaste”) is the proper way to address the clipboard in Mac OS X, while in Windows that would be “clipboard”.
One caveat before you try it out. In order for the function above to work properly with HTML table copied from a web page, the table has to be properly formatted and complete. If not, read.table will complain that a row doesn’t have enough elements (saying something like: line 83 did not have 3 elements) or that values are missing.
The command above works properly with HTML tables taken from Wikipedia, Yahoo Finance (historical prices) and many other sites. Just go to the web page with the table, highlight the full range of the table (don’t forget the headers) and then copy it (cmd-C) to the clipboard. Then move back to R (or RStudio) and issue the command above. If everything goes well and you don’t get any error message, the content of the table will be available in data.
Hope you enjoyed this useful tip. Till next time!