0

オンラインでいくつかの例を見たので、Rを使用してモデリングを行おうとしています.BodyWeightライブラリを使い始めました。コマンドを理解し、慣れるためだけに。

推定値を使用して最終モデルにたどり着きました。これらの推定値をプロットする方法を考えていましたが、オンラインで何も見ていません..

ここに画像の説明を入力

推定値を線でプロットし、各観測値の点をプロットする方法はありますか?

これを行う方法に関する情報はどこにありますか?自分で値を抽出する必要がありますか?それとも、これらのモデルの推定値をプロットすることができますか?

私はRから始めたばかりです。どんな助けも大歓迎です。

ありがとうございました

4

1 に答える 1

4

通常、出力をプロットするにはさまざまな方法が考えられるため、モデルの出力をプロットするだけの関数はありません。

使用しているモデルの種類に関係なく、predict関数を確認してください (たとえば、関数を使用した線形回帰lm) predict.lm

次に、プロット システムを選択します (食事のレベルごとに異なるパネルが必要になる可能性が高いため、ggplot2 または格子のいずれかを使用します)。次に、プロットをどのように見せたいかを言葉でより明確に説明できるかどうかを確認します. 行き詰まった場合は、質問を更新してください。


これで、使用しているデータセットを特定できました。考えられるプロットは次のとおりです。

#Run your model
model <- lme(weight ~ Time + Diet, BodyWeight, ~ 1 | Rat)
summary(model)

#Predict the values
#predict.lme is a pain because you have to specify which rat
#you are interested in, but we don't want that
#manually predicting things instead
times <- seq.int(0, 65, 0.1)
mcf <- model$coefficients$fixed
predicted <- 
  mcf["(Intercept)"] + 
  rep.int(mcf["Time"] * times, nlevels(BodyWeight$Diet)) + 
  rep(c(0, mcf["Diet2"], mcf["Diet3"]), each = length(times))
prediction_data <- data.frame(
  weight = predicted,
  Time   = rep.int(times, nlevels(BodyWeight$Diet)),
  Diet   = rep(levels(BodyWeight$Diet), each = length(times))
)  

#Draw the plot (using ggplot2)
(p <- ggplot(BodyWeight, aes(Time, weight, colour = Diet)) + 
  geom_point() +
  geom_line(data = prediction_data)
)
于 2012-04-07T11:22:35.537 に答える