No.13381 R言語。formula 類似関数について  【yy】 2010/09/09(Thu) 14:28

関数 formula は,paste で作成した文字列,例えば,"y~x1+x2" を実行可能にします。質問は,foo(x1,x2) と云う関数に,paste で作った"x1, x2"を foo(formuloid("x1,x2")) と実行可能にする関数,formuloid はあるのでしょうか。宜しくお願いします。

No.13382 Re: R言語。formula 類似関数について  【青木繁伸】 2010/09/09(Thu) 15:22

「実行可能」とはどういうことでしょう?formula("y~x1+x2") は,formula クラスの y~x1+x2 を作るだけですよね?
また,「foo(formuloid("x1,x2")) と実行可能にする」というのがよくわかりません。foo 関数に formulodi で作った formula を引数にして「実行できるようにする」formuloid関数ということ?
文字列 "x1", "x2" を変数名 x1, x2 にして,func を呼ぶみたいな?
> func <- function(x, y) return(x+y)
> x1 <- 10
> x2 <- 27
> func(eval(parse(text="x1")), eval(parse(text="x2")))
[1] 37
> eval(parse(text="func(x1, x2)")) # または
[1] 37

No.13384 Re: R言語。formula 類似関数について  【yy】 2010/09/09(Thu) 17:34

早速のご返答有難う御座います。
まさに行ないたい事は,> eval(parse(text="func(x1, x2)"))でした。parse もeval も試してみたのですが,理解に至らず,悩んでいました。完全解決です。感謝致します。

● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る