ホームページなどで R プログラムが紹介されているとき,プログラムとその結果が混在している R コンソールをコピー&ペーストされたものが載っていることがある。
実際に試してみるとき,キー入力すれば済むことだけど面倒だし,プログラムの先頭の > や + を除いてコンソールにペーストするのもかなり面倒。
そんなときのために以下のような関数を作っておく。
使い方は,
(1) 関数を定義(source などで読み込む。環境を保存しておけば,毎回読み込む必要はない)
(2) Web ページなどの該当部分をコピー
(3) e() を実行
(4) R コンソールにペースト
注:ときどき,最終行がコピー&ペーストされないことがある
e <- function()
{
con <- pipe("pbpaste", "r")
txt <- readLines(con)
close(con)
con <- pipe("pbcopy", "w")
for (str in txt) {
if (grepl("^> |^\\+ ", str)) {
writeLines(sub("^..", "", str), con)
}
}
close(con)
}