クリップボードへのコピー

OSを自動判定しています。WindowsとMacのみ。

write.to.clipboard <- function(data) {
  if(is.data.frame(data)|is.matrix(data)) {
    data.to.copy <- data
  } else {
    data.to.copy <- t(data.to.copy)
  }
  system.name <- Sys.info()['sysname']
  operating.system.type <- .Platform$OS.type
  if(operating.system.type=="windows") {
    write.table(data.to.copy, 
                file="clipboard", 
                sep="\t",
                row.names=TRUE,
                col.names=TRUE)  
  } else if(system.name=="Darwin") {
    write.table(data.to.copy, 
                pipe("pbcopy"), 
                sep="\t",
                row.names=TRUE,
                col.names=TRUE)  
  } else {
    stop("this os is not supported. sorry.")
  }
}