Rで標準入力を取り込む
Rでプログラムを走らせているときに標準入力(キーボード)を
変数に代入したくなったので、やり方をメモ。
大きく2つある。
- readline()
標準入力から受け取った値(データ)を返す。
()の中には、入力待ちのときに表示する文字列を入れられる。
例:
> you <- readline("Who are you?")
Who are you? schngtm
(↑入力待ち状態になるため名前を入力)
> you (変数youの内容を表示)
[1] "schngtm " (←名前が表示された) - menu()
メニュー選択。選択肢Aを選ぶときは1を返す、選択肢Bを選ぶときは2……といった
場合分けに使える。
最初の引数では選択肢をベクトルの形で指定、次のtitleオプションでは
このメニューのタイトルとして表示する文字列を指定できる。
また、menu()関数は0を入力すると0を返して終了する。
例:
> menu(c("omlet", "hamburger steak", "chocolate"), title="Which do you like the best?")
Which do you like the best?
1: omlet
2: hamburger steak
3: chocolate
#(入力待ち→1と打つ)
[1] 1
入力待ちの時に打てるのは0と選択肢の数字のみ。
入力された数字を返すので、それをもとに条件分岐処理をすれば良い。
参考:
R-Source http://cse.naro.affrc.go.jp/takezawa/r-tips/r/36.html