便利。クリップボードからRへ読み込み

  • 友人にこれを教えてもらった
  • タブ区切りのNxM数値行列をクリップボードにコピーし(エクセルからのコピー。テキストエディタでも)、R上で関数に列数指定して、リターンするだけ。
  • こちら
  • どうなっているか(Windowsの場合)
    • 行列への読み込み
matrix(scan("clipboard", quiet=TRUE), byrow=TRUE, ncol=nc)
      • "clipboard"とある。
      • ふつう、ここには"file名(ファイルへのパス)"が書かれるわけであるが、"clipboard"というのは、「コンピュータがクリップボードというところにため込んでいるデータだよ」ということ
      • quietというのはなぜ必要かは次を見ればわかる
> scan("clipboard")
Read 10 items
 [1] 350 750 100 100 150  80 400   0   0   0
> scan("clipboard",quiet=TRUE)
 [1] 350 750 100 100 150  80 400   0   0   0
> 
    • 読んだ行数に関する「発言」が出てきてしまって、それがscan()で読み取られてしまうから、それを見せないためにquiet=TRUEとする
    • 後は、数値がタブ区切りの改行つきデータレコードになっているので、それをbyrow=TRUE(行ごとに詰め込む)、列数は指定する、という引数指定しているだけ。
    • テーブル形式でも読める
x<-read.table("clipboard", header=TRUE)
  • テーブル形式ではscan()を使わずにできるのに、行列形式は、scan()を介さなくてはいけないところが、ちょっと悔しい・・・