2016-08-09 8 views
0

lmer4とlsmeansのlmer-functionを使って線形混合モデルを計算しました。ここで私は1つの従属変数rvと相互作用因子の処理、時間、年齢とレースを持っています。私は時間の経過とともに応答変数の変更に興味があるので、lstrends-functionを使用しています。ここまでは順調ですね。問題は、モデルを適切に適合させるために応答変数を平方根にする必要があることです。しかし、対関数は、rvの平方根に対する応答を出すだけで、解釈が難しいです!コントラストlstrendsの逆変換結果は

だから、私は戻って、変換するために、応答変数をペア後に試してみました:

model.lmer <- lmer(sqrt(rv) ~ treat*time*age*race + (1|individual), data=mydata) 
model.lst <- lstrends(model.lmer, ~treat | age*race , var = "time", type="response") 
pairs(mouse.lst, type="response") 

パッケージ自体が述べたように、これは明らかに、動作しません:

# Transformed response 
sqwarp.rg <- ref.grid(update(warp.lm, sqrt(breaks) ~ .)) 
summary(sqwarp.rg) 

# Back-transformed results - compare with summary of 'warp.rg' 
summary(sqwarp.rg, type = "response") 

# But differences of sqrts can't be back-transformed 
summary(pairs(sqwarp.rg, by = "wool"), type = "response") 

# We can do it via regrid 
sqwarp.rg2 <- regrid(sqwarp.rg) 
summary(sqwarp.rg2) # same as for sqwarp.rg with type = "response" 
pairs(sqwarp.rg2, by = "wool") 

Anybodeがどのようにアイデアを得ましたこの特定の問題を解決するには?前もって感謝します!

EDIT1:

それは、次のコードのようになります。

summary(pairs(lsmeans(rg.regrid, ~ treat | race*age, trend="time")), type="response") 

問題はlstrendsの最初の引数ので、私は、ちょうどLS平均ため、lstrendsのための基準グリッドを変更することはできませんまたはtrend = "time"のlsmeansは、trend引数なしで、lsmeansのような参照グリッドの線形混合効果モデル(model.lmer)の直前を必要とします...それはおそらく私が

edit2:これはここで私の問題をまとめていますttyウェル:

model.sqrt <- lmer(sqrt(rv) ~ time*treat*race*age, data=mydata) 
rg <- ref.grid(model.sqrt) 
rg.regrid <- regrid(rg) 
summary(pairs(lsmeans(rg.regrid, ~treat | race*age*time), type = "response")) 

は完全に動作します。

summary(pairs(lsmeans(rg.regrid, ~treat | race*age, trend="time"), type = "response")) 

は、次のエラーを与える:

Error in summary(pairs(lsmeans(rg.regrid, ~vns | gen * age, trend = "time"), : 
error in evaluating the argument 'object' in selecting a method for function 'summary': Error in data[[var]] : subscript out of bounds 

エラーを回避し、それでもバック変換する私のデータをできるようにする方法は?

答えて

0

逆変換は、明らかなパターンのない複雑な手順になります。それはパッケージの作成者が言ったことです。

+0

は、個人的なコミュニケーション(電子メールなど)ですか、それともどこかに文書化されていますか? –

+0

これは個人的なコミュニケーションでしたが、lsmeans-ドキュメント自体には小さなヒントがあります: "注:lstrendsは、わずかに異なる2つの参照グリッドに基づいて差の商を計算します したがって、モデルオブジェクトで呼び出す必要があります。 ref.gridオブジェクトです。 " そのため、私の最後のアプローチはedit2の下では機能しませんでした。 数学的に言えば、それは容易な変換ではないことも明らかであるので、これはすでにうまくいかないと予期していました。 –

+0

注 - Cross Validated - http://stats.stackexchange.com/questions/228958/back-transforming-contrast-lstrends-results-in-r/229847#229847でこれに対する回答を掲載しました。 – rvl

関連する問題