1

次のように、ユーザーからの数値入力を要求する関数があります。

request_KBEHAVIOR<-function()
{
as.numeric(readline("Please enter Kramer's behavior>>> "))
}

したがって、Kramer の動作は 0 から 1 (確率) の間の値であり、ユーザーは「.5」のような値を入力します。

ただし、=1/exp(runif(1)) のような式をユーザーに入力してもらいたいと考えています。これは可能ですか?

たとえば、Excel では、セルに値を入力したり、=1/exp(rand()) のような関数を入力したりして、他の数式でそのセルを参照できます。よろしくお願いいたします。

4

1 に答える 1

4

使用できますeval(parse(text=...))

request_KBEHAVIOR<-function() as.numeric(eval(parse(text=
                                 readline("Please enter Kramer's behavior>>> "))))

request_KBEHAVIOR()
Please enter Kramer's behavior>>> 1/exp(runif(1))
# [1] 0.379733

request_KBEHAVIOR()
Please enter Kramer's behavior>>> 0.5
# [1] 0.5
于 2012-04-25T05:27:16.937 に答える