更新:前のタイトルはIs there any specific way to pass data frame as an argument to a function?
でしたが、ここでは華麗な人によれば正しい質問ではありませんでした。元の投稿は以下です。R関数の中でエフェクトプロットを実行する方法
私はsomefunc(sleepstudy)
と機能を以下走っ、
somefunc<-function (dataLme)
{
library(effects)
library(lme4)
fm8 <- lmer(Reaction ~ 1 + Days + (1 + Days|Subject), dataLme,
REML = 0, verbose = TRUE)
plot(effect("Days",fm8))
}
私はエラーを得ました。
Error in plot(effect("Days", fm8)) :
error in evaluating the argument 'x' in selecting a method for function 'plot': Error in is.data.frame(data) : object 'dataLme' not found
しかし、私は手動で
library(effects)
library(lme4)
fm8 <- lmer(Reaction ~ 1 + Days + (1 + Days|Subject), sleepstudy,
REML = 0, verbose = TRUE)
plot(effect("Days",fm8))
を実行する場合、私はすべてのエラーを取得できませんでした。
私はRが値渡しだと思ったのは、オブジェクトの内容全体を関数の引数にコピーすることを意味していました。しかし、私はまったく正しいとは思われませんでした。誰でも何が起こっているのか説明できますか?
私は問題がセマンティクスを渡しRの引数ではないと思います...安定
lme4
またはnlme
ため開発lme4
ためeval(cl,envir=environment(formula(mod)))
作品に関連するeval(cl)
ラインを変更ではなく、私が考える問題はeffect'は 'ということです間違った場所でモデルフィッティングコールを '評価する 'ことを試みます。少なくとも、関数内で実行すると動作しない場所。 @RicardoSaporta Days。 – joranごめんなさい。私は私の質問にそれを修正した。ありがとう! –
@ヨランよ。あなたはそれをどのように速く把握しましたか? :-) しかたがない。私はそれが今、著者に連絡する時だと思う。ご協力いただきありがとうございます! –