이 가상의 데이터 세트를 고려해 봅시다 :
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 : 명확히하기 위해, 예를 들어 동일한 주제에 대해 반복되는 측정의 경우 사용할 모델로 이것을 생각하고 있습니다.
—
nico
같은 주제에 대한 견적을 찾고 있다면 왜 제외시켜야합니까? 인구 수준 추정치 ( 정보 없음 )를 원한다면 차이가 있습니다. Greg는 그의 답변에서 원하는 경우 인구에 대한 추정치를 얻을 수 있지만 주제별로 다르지는 않습니다.
—
usεr11852
@ user11852 : 같은 주제에 대한 견적을 찾고 있지 않습니다. 인구 추정치를 얻기 위해 다양한 주제에 대해 반복적 인 조치를 취합니다. 나는 이미 실험적인 답변을 가지고 있기 때문에 이미 테스트 한 주제를 신경 쓰지 않습니다 ... 특정 그룹의 새로운 주제가 어떻게 자극에 반응하는지 예측할 수 있기를 원합니다. 그렉 답변은 실제로 문제를 해결합니다.
—
nico
model
은 평균이 (특히 의해 주어진다고 가정 하므로 성가신 매개 변수에 대한 일부 값도 기대합니다 평가 지점에 계층 구조가 없다고 가정하는 것이 합리적이지 않은 상황이 있기 때문에 ( 없음 ) 따라서 fit ()은 처음에 "불쾌한"결과를 제공합니다 (실제로는 그렇지 않습니다) 성가신 것으로 생각하지만 추가 정보이지만 괜찮습니다 ...)y ∼ N ( X β + Z γ , σ 2 I ) Z