lmeで変量効果を指定する方法は?


8

私はこれを何時間もオンラインで検索しましたが、探しているオンライン投稿はありません。私の質問はSAS Proc混合手順で実装するのは非常に簡単ですが、lmeおよび/またはlmerパッケージでそれを実行する方法がわかりません。というモデルがあるとします 。ここで、は固定されていますが、とはランダムです。私のRコードはy=μ+α+β+αβ+eαβαβ

 f1 = lme(y ~ factor(a), data = mydata,
     random = list(factor(b) = ~ 1, factor(a):factor(b) = ~ 1))

エラー:予期=しない:

 f1 = lme(y ~ factor(a), data = mydata,
          random = list(factor(a) =  

誰か私にこれらのランダム効果をlmeで指定する方法を教えてもらえますか?事前に感謝します


dputデータの再作成に必要なコードを取得するのに役立ちます。あなたが残したコメントから、結果はstructure(list(method = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", "2"), class = "factor"), day = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"), level = c(142.3, 144, 134.9, 146.3, 148.6, 156.5, 152, 151.4, 142.9, 147.4, 125.9, 127.6, 135.5, 138.9, 142.9, 142.3)), .Names = c("method", "day", "level"), row.names = c(NA, -16L), class = "data.frame")
アーロンがスタックオーバーフローを去った

回答:


12

これを試してください、それは分割プロットを行うための標準的な方法です。表記/は、メソッドが1日でネストされることを意味します。

lme(level~method, random=~1|day/method, data=d)

こんにちはアーロン、ありがとうございました。Rの出力はSASの出力とテキストとまったく同じです。しかし、R構文で「ネストされた」ものを使用する必要がある理由。教科書には、αβランダム相互作用項であり、SASでもランダム相互作用項を使用しています。可能であれば、lmeでランダムな相互作用効果を指定する理由/方法を教えてください。どうもありがとうございましたTu.2
Tu.2

3
あなたの質問はR構文ではなく、ネストの意味についてです。AにBを入れ子にすると(A / Bを使用)、Aと、AとBの間の相互作用という2つの変数が作成されます。
アーロンがスタックオーバーフローを去った

こんにちは、これは素晴らしい説明です。どうもありがとうございました。
火曜日2

2

data.frameを提供すると、非常に役立ちます。現在、グループ化要素が何であるかは明らかではありません。そうだと判断しますβ。次に、lme表記法でモデルを次のように記述します。

lme(y~a,random=~a|b, data=mydata)

こんにちはmpiktasさん、ご回答ありがとうございます。Rの結果はSAS procの混合手順とは大きく異なります。SASの出力は、教科書の回答と同じです(Kuehk RO。1999。実験計画法:研究計画と分析の統計的原理、第2版)。データセットはメソッドの日レベル1 1 142.3 1 1 144.0 1 2 134.9 1 2 146.3 1 3 148.6 1 3 156.5 1 4 152.0 1 4 151.4 2 1 142.9 2 1 147.4 2 2 125.9 2 2 127.6 2 3 135.5 2 3 138.9 2 4 142.9 2 4
142.3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.