この架空のデータセットを考えてみましょう。
set.seed(12345)
num.subjects <- 10
dose <- rep(c(1,10,50,100), num.subjects)
subject <- rep(1:num.subjects, each=4)
group <- rep(1:2, each=num.subjects/2*4)
response <- dose*dose/10 * group + rnorm(length(dose), 50, 30)
df <- data.frame(dose=dose, response=response,
subject=subject, group=group)
lme
ランダム効果モデルで応答をモデル化するために使用できます。
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
predict
このモデルの結果を使用して、たとえば、グループ1の一般的な被験者の用量10に対する応答を取得します。
pred <- predict(model, newdata=list(dose=10, group=1))
ただし、このコードでは次のエラーが発生します。
Error in predict.lme(model, newdata = list(dose = 10, group = 1)) :
cannot evaluate groups for desired levels on 'newdata'
それを取り除くために、例えばする必要があります
pred <- predict(model, newdata=list(dose=10, group=1, subject=5))
しかし、これは本当に私にはあまり意味がありません...主題は私のモデルの迷惑要因ですので、どの意味にそれを含める必要がありpredict
ますか?データセットに存在しない件名を入力すると、predict
が返されますNA
。
これはpredict
、この状況での望ましい動作ですか?私は本当に明白な何かを見逃していますか?
@ user11852:明確にするために、これは、たとえば同じ主題に対して繰り返し測定が行われる場合に使用されるモデルとして考えています。
—
ニコ
@ user11852:同じテーマについての見積もりは探していません。人口の推定値を取得するために、さまざまなテーマで繰り返し測定を行います。私はすでに実験的な答えを持っているので、すでにテストした被験者を気にしません...特定のグループの新しい被験者が刺激にどのように反応するかを予測できるようにしたいと思います。グレッグの答えは確かに問題を解決します。
—
ニコ
model