lmer4 및 lsmeans 패키지에 lmer-function을 사용하여 선형 혼합 모델을 계산했습니다. 여기에는 하나의 종속 변수 rv와 상호 작용 요인 처리, 시간, 나이 및 인종이 있습니다. 시간이 지남에 따라 응답 변수 변경에 관심이 있습니다. 그래서 lstrends-function을 사용합니다. 여태까지는 그런대로 잘됐다. 문제는 모델을 적절하게 맞추기 위해 응답 변수를 제곱해야한다는 것입니다. 그러나 쌍 함수는 rv의 제곱근에 대한 응답만을 제공합니다. 해석하기는 어렵습니다!대비 변환 lstrends의 백 변환 결과는
# 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 어떻게 아이디어를 가지고 : 패키지 자체가 언급 한 바와 같이,
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")
이 분명히 작동하지 않습니다
그래서 나는 쌍 후 응답 변수를 백 변환을 시도 이 특별한 문제를 해결하려면? 미리 감사드립니다!EDIT1 :
다음 코드와 같이 수 :
이summary(pairs(lsmeans(rg.regrid, ~ treat | race*age, trend="time")), type="response")
문제가
가, 난 그냥 lsmeans를 들어, lstrends에 대한 참조 그리드를 변경할 수 없습니다 때문에 lstrends의 첫 번째 인수 또는 trend = "time"을 사용하는 lsmeans는 트렌드 인수없이 lsmeans와 같은 선형 혼합 효과 모델 (model.lmer)이 단지 참조 격자의 꼭대기에 있어야합니다. 아마도 그 이유는 다음과 같은 이유로 데이터를 역 변환 할 수 없기 때문입니다
편집 2 : 여기 내 문제를 요약합니다. 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"))
완벽하게 작동합니다.
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
어떻게 내 데이터를 백업-변환 할 수 여전히 오류를 방지하기 위해 :
summary(pairs(lsmeans(rg.regrid, ~treat | race*age, trend="time"), type = "response"))
다음과 같은 오류를 제공?
은 개인 통신 (예 : 전자 메일) 이었습니까, 아니면 어딘가에 문서화되어 있습니까? –
개인적인 의사 소통 이었지만 lsmeans- 문서 자체에는 작은 힌트가 있습니다. "참고 : lstrends는 두 개의 약간 다른 참조 격자를 기반으로 차이 몫을 계산합니다. 따라서 모델 객체로 호출해야합니다. ref.grid 객체. " 그런 이유로 edit2에서 마지막으로 접근하지 못했습니다. 수학적으로 말하면 쉽게 변형되지 않는다는 것이 분명하기 때문에 이미 효과가 없을 것이라고 예견했습니다. –
참고 - 교차 유효성 확인 - http://stats.stackexchange.com/questions/228958/back-transforming-contrast-lstrends-results-in-r/229847#229847에 대한 답변을 게시했습니다. – rvl