リストを作成するとき、実行時に関数本体を抽出する方法

火星

Rはまったく新しいので、これに対する答えを見つけようとしていますが、質問の言い方がわからない可能性があるため、以前に質問されたことがある場合は申し訳ありません。

関数/モデルのリストを、手動で行うのではなく、forループでデータに適合させたいと思います。そのためには、でモデルを指定する必要があります。alist以下をリストしてください。

flist <- alist(y ~ dnorm(mu, sigma),
               mu <- a + b*x,     # need to replace this line with general function
               a ~ dnorm(0, 100),
               b ~ dnorm(0, 10),
               sigma ~ dunif(0, 10)
)

これをforループで行うにはa + b*x、実行時に選択された関数の本体に置き換えることができる必要があります。だから私はそれを作ることを考えていました:

flist <- alist(y ~ dnorm(mu, sigma),
               mu <- body(function[i]),
               a ~ dnorm(0, 100),
               b ~ dnorm(0, 10),
               sigma ~ dunif(0, 10)
)

ただし、alistは実際には評価していないようでbody(function[i])、これはのポイントの一部のようですalist実行時に体を取り出す方法はありますか?

基本的に、私が求めているのは、リスト内の式の一部(body(...))を評価することですが、すべてではありません(〜/ <-演算子を未評価のままにします)。

でこれを行うことは可能parseですか?

Moody_Mudskipper

理解できるかわかりませんが、こんなものが必要ですか?

funs <- list(f1 = function(x) x + 3, f2 = function(x) 2 * x + 2)


flist <- alist(y ~ dnorm(mu, sigma),
        mu <- FUN_BODY,     # need to replace this line with general function
        a ~ dnorm(0, 100),
        b ~ dnorm(0, 10),
        sigma ~ dunif(0, 10))


flist[[2]] <- eval(substitute(substitute(ARG,
  list(FUN_BODY = body(funs[[2]]))),
  list(ARG = flist[[2]])))

# [[1]]
# y ~ dnorm(mu, sigma)
# 
# [[2]]
# mu <- 2 * x + 2
# 
# [[3]]
# a ~ dnorm(0, 100)
# 
# [[4]]
# b ~ dnorm(0, 10)
# 
# [[5]]
# sigma ~ dunif(0, 10)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

リストをClojure関数本体として使用する

分類Dev

kdb-外部関数本体を出力するときにネストされた関数を解決する

分類Dev

関数パラメーターリストではなく関数本体の型を理解する方法

分類Dev

PHP7.2-文字列に関数本体がある場合に無名関数を動的に作成する方法

分類Dev

関数定義を実行するとき、および関数を呼び出すときに、関数本体内で実行されるシェル操作は次のうちどれですか?

分類Dev

関数本体をBashで表示する

分類Dev

monetdbを使用してSQLスクリプトを実行するときに完全な時間を取得する方法

分類Dev

実際の作成時にスクリプトを実行する方法

分類Dev

switchMap-operatorsをrxjs6の関数本体とチェーンする方法

分類Dev

関数内の変数はオブジェクトへの強い参照を持っていますか、それとも関数本体の実行時に割り当てを解除できますか?

分類Dev

Python 3:指定された引数を使用して指定された関数を正常に呼び出すことができる(つまり、関数本体の最初の行に到達する)かどうかを判断する方法は?

分類Dev

実行時に必要な数のリストを作成する

分類Dev

スクリプトを何度も実行するときにスクリプトの実行時間を測定する方法

分類Dev

実行時に式を作成する方法

分類Dev

Puppeteer / Javascriptと同時にスクリプトを実行する方法は?

分類Dev

作成時に時系列でFirestoreクエリを実行する方法

分類Dev

実行時に+1を更新するシェルスクリプトを作成する方法

分類Dev

起動時にスクリプトを実行する方法は?

分類Dev

起動時にbashスクリプトを実行する方法

分類Dev

IP変更時にスクリプトを実行する方法

分類Dev

AutoLISPでは、関数本体で関数名を取得することは可能ですか?

分類Dev

関数本体の内部から呼び出されたときに値が正しく割り当てられ、pytestの実行中に失敗する

分類Dev

Java関数本体でコンパイル時エラーを取得する

分類Dev

postgresql関数本体を置き換える方法は?

分類Dev

リストでsum()を実行するときにPythonリストの要素を置き換える方法

分類Dev

Roslyn DocumentEditorを使用して、空の関数本体にステートメントを挿入できますか?

分類Dev

Elixirで関数本体を文字列として取得する方法はありますか?

分類Dev

テストを実行するときに依存関係を考慮する方法は?

分類Dev

--swift --SpriteKitを使用して特定の時間に関数を実行するプロトコルを作成する方法

Related 関連記事

  1. 1

    リストをClojure関数本体として使用する

  2. 2

    kdb-外部関数本体を出力するときにネストされた関数を解決する

  3. 3

    関数パラメーターリストではなく関数本体の型を理解する方法

  4. 4

    PHP7.2-文字列に関数本体がある場合に無名関数を動的に作成する方法

  5. 5

    関数定義を実行するとき、および関数を呼び出すときに、関数本体内で実行されるシェル操作は次のうちどれですか?

  6. 6

    関数本体をBashで表示する

  7. 7

    monetdbを使用してSQLスクリプトを実行するときに完全な時間を取得する方法

  8. 8

    実際の作成時にスクリプトを実行する方法

  9. 9

    switchMap-operatorsをrxjs6の関数本体とチェーンする方法

  10. 10

    関数内の変数はオブジェクトへの強い参照を持っていますか、それとも関数本体の実行時に割り当てを解除できますか?

  11. 11

    Python 3:指定された引数を使用して指定された関数を正常に呼び出すことができる(つまり、関数本体の最初の行に到達する)かどうかを判断する方法は?

  12. 12

    実行時に必要な数のリストを作成する

  13. 13

    スクリプトを何度も実行するときにスクリプトの実行時間を測定する方法

  14. 14

    実行時に式を作成する方法

  15. 15

    Puppeteer / Javascriptと同時にスクリプトを実行する方法は?

  16. 16

    作成時に時系列でFirestoreクエリを実行する方法

  17. 17

    実行時に+1を更新するシェルスクリプトを作成する方法

  18. 18

    起動時にスクリプトを実行する方法は?

  19. 19

    起動時にbashスクリプトを実行する方法

  20. 20

    IP変更時にスクリプトを実行する方法

  21. 21

    AutoLISPでは、関数本体で関数名を取得することは可能ですか?

  22. 22

    関数本体の内部から呼び出されたときに値が正しく割り当てられ、pytestの実行中に失敗する

  23. 23

    Java関数本体でコンパイル時エラーを取得する

  24. 24

    postgresql関数本体を置き換える方法は?

  25. 25

    リストでsum()を実行するときにPythonリストの要素を置き換える方法

  26. 26

    Roslyn DocumentEditorを使用して、空の関数本体にステートメントを挿入できますか?

  27. 27

    Elixirで関数本体を文字列として取得する方法はありますか?

  28. 28

    テストを実行するときに依存関係を考慮する方法は?

  29. 29

    --swift --SpriteKitを使用して特定の時間に関数を実行するプロトコルを作成する方法

ホットタグ

アーカイブ