Rのデモ用の関数
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[RjpWiki]]
初級Q&Aで講義でのデモ用の工夫を質問(2012-04-15)したもので...
以下の方法は,初級Q&Aへの質問に対し匿名氏から教えていただ...
使い方は,Rのソースファイルを abc.R とすると
Demo("abc.R")
を実行し,あとはキャリッジ・リターンを押すだけで,次々命...
Demo2 関数は Demo 関数ではステップごとに必ず入る空白行を...
最初の評価実行の段階は,結構時間がかかる場合があります....
abc.demo <- DemoAux("abc.R") # 評価実行結果リストを先ず...
Demo0(abc.demo) # もしくは Demo20(abc.demo)
デモ用の工夫としては他にも初級Q&Aで挙げられた,
(1) 実行ログファイルを編集した結果をエディターでスクロー...
(当然作図結果は見せられない),
(2) Rと連動したエディタからソースファイルを命令単位に実行...
(3) debug 機能の利用,
等が考えられます.R のアドオン・パッケージを探しましたが...
以下が,私が使うことにしたデモ用関数(ページ下にソースファ...
# ソースファイルを擬似的に実行するデモ用の関数
# キャリッジリターンを押すたびに一命令ずつ実行し,結果を...
# 作図結果もその都度表示できる
Demo <- function(x){
require(evaluate)
xx <- evaluate(file(x))
tmp <- function(y){replay(y);invisible(readline())}
invisible(lapply(xx, tmp))
}
# ソースファイルを擬似的に実行するデモ用の関数
# キャリッジリターンを押すたびに一命令ずつ実行する
# 一部の命令(作図命令等)を除き,Demo 関数で毎回入る空白...
# (解釈実行結果に入る改行文字を取り除いています
# 副作用でプロンプト部分が消えてしまうので,補っています)
Demo2 <- function(x){
require(evaluate)
xx <- evaluate(file(x))
tmp <- function(y){
yy <- y
z <- substr(yy,1,nchar(yy)-1)
if(class(yy)[1] == "source") yy <- paste("> ", z, ...
else if(class(yy)[1] == "character") yy <- z
replay(yy)
invisible(readline())}
invisible(lapply(xx, tmp))
}
# 最初にソースファイルを評価した結果をリストに変換する関数
# ソースファイルの評価に時間がかかる場合,先に評価結果を...
# 講義時間内では終わらないような時間のかかるデモも可能
DemoAux <- function (x) {require(evaluate); evaluate(fil...
# Demo(x) は Demo0(DemoAux(x)) と同じ
Demo0 <- function(x){
require(evaluate)
tmp <- function(y){replay(y);invisible(readline())}
invisible(lapply(x, tmp))
}
# Demo2(x) は Demo20(DemoAux(x)) と同じ
Demo20 <- function(x) {
require(evaluate)
tmp <- function(y){
yy <- y
z <- substr(yy,1,nchar(yy)-1)
if(class(yy)[1] == "source") yy <- paste("> ", z, ...
else if(class(yy)[1] == "character") yy <- z
replay(yy)
invisible(readline())}
invisible(lapply(x, tmp))
}
以下が実行結果の見本です.
> Demo("L1.R")
> ### R のデータタイプ
> x <-1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
> Demo2("L1.R")
> ### R のデータタイプ
> x <-1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
#comment
終了行:
[[RjpWiki]]
初級Q&Aで講義でのデモ用の工夫を質問(2012-04-15)したもので...
以下の方法は,初級Q&Aへの質問に対し匿名氏から教えていただ...
使い方は,Rのソースファイルを abc.R とすると
Demo("abc.R")
を実行し,あとはキャリッジ・リターンを押すだけで,次々命...
Demo2 関数は Demo 関数ではステップごとに必ず入る空白行を...
最初の評価実行の段階は,結構時間がかかる場合があります....
abc.demo <- DemoAux("abc.R") # 評価実行結果リストを先ず...
Demo0(abc.demo) # もしくは Demo20(abc.demo)
デモ用の工夫としては他にも初級Q&Aで挙げられた,
(1) 実行ログファイルを編集した結果をエディターでスクロー...
(当然作図結果は見せられない),
(2) Rと連動したエディタからソースファイルを命令単位に実行...
(3) debug 機能の利用,
等が考えられます.R のアドオン・パッケージを探しましたが...
以下が,私が使うことにしたデモ用関数(ページ下にソースファ...
# ソースファイルを擬似的に実行するデモ用の関数
# キャリッジリターンを押すたびに一命令ずつ実行し,結果を...
# 作図結果もその都度表示できる
Demo <- function(x){
require(evaluate)
xx <- evaluate(file(x))
tmp <- function(y){replay(y);invisible(readline())}
invisible(lapply(xx, tmp))
}
# ソースファイルを擬似的に実行するデモ用の関数
# キャリッジリターンを押すたびに一命令ずつ実行する
# 一部の命令(作図命令等)を除き,Demo 関数で毎回入る空白...
# (解釈実行結果に入る改行文字を取り除いています
# 副作用でプロンプト部分が消えてしまうので,補っています)
Demo2 <- function(x){
require(evaluate)
xx <- evaluate(file(x))
tmp <- function(y){
yy <- y
z <- substr(yy,1,nchar(yy)-1)
if(class(yy)[1] == "source") yy <- paste("> ", z, ...
else if(class(yy)[1] == "character") yy <- z
replay(yy)
invisible(readline())}
invisible(lapply(xx, tmp))
}
# 最初にソースファイルを評価した結果をリストに変換する関数
# ソースファイルの評価に時間がかかる場合,先に評価結果を...
# 講義時間内では終わらないような時間のかかるデモも可能
DemoAux <- function (x) {require(evaluate); evaluate(fil...
# Demo(x) は Demo0(DemoAux(x)) と同じ
Demo0 <- function(x){
require(evaluate)
tmp <- function(y){replay(y);invisible(readline())}
invisible(lapply(x, tmp))
}
# Demo2(x) は Demo20(DemoAux(x)) と同じ
Demo20 <- function(x) {
require(evaluate)
tmp <- function(y){
yy <- y
z <- substr(yy,1,nchar(yy)-1)
if(class(yy)[1] == "source") yy <- paste("> ", z, ...
else if(class(yy)[1] == "character") yy <- z
replay(yy)
invisible(readline())}
invisible(lapply(x, tmp))
}
以下が実行結果の見本です.
> Demo("L1.R")
> ### R のデータタイプ
> x <-1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
> Demo2("L1.R")
> ### R のデータタイプ
> x <-1 # 数値(倍精度実数)
> x
[1] 1
> (x <- 1) # 付値と結果の表示を同時に行う
[1] 1
#comment
ページ名: