나는 왜 당신이 원하는 모르겠지만, fit
에서 얻을 간단하다. 첫째, $
을 사용하여 이와 같이 맞는 오브젝트를 파고 들지 않는 것이 가장 좋습니다. 대신 추출 기능을 사용하는 법을 배우십시오. 이 경우, mean(fit$model[,2])
의 상응 한 번에 모든 데이터 열에 대해, 다음과 같습니다
> colMeans(model.frame(fit))
y x1 x2
2.0783225 0.0283555 1.0481141
모델 프레임은 데이터의 단지 사본입니다. 원하는 것은 디자인 행렬이나 R은 모델 행렬이라고 부릅니다. 이는 당연히 model.matrix()
함수를 사용하여 얻을 수 있습니다.
> head(model.matrix(fit))
(Intercept) x1 x2 x1:x2
1 1 -0.33406119 1.95054087 -0.65160001
2 1 -1.41848058 0.35429591 -0.50256186
3 1 -1.32877702 -0.00783884 0.01041607
4 1 0.54054637 1.34637056 0.72777572
5 1 -0.75686319 -0.36476471 0.27607699
6 1 0.04514449 1.62928315 0.07355316
응답 데이터는 설계 매트릭스에는 없지만 상호 작용 용어는 마지막 열에 있습니다. 이 디자인 행렬의 각 열의 평균을 얻기 위해 다시 colMeans()
을 사용하여 완성도를 들어
> colMeans(model.matrix(fit))
(Intercept) x1 x2 x1:x2
1.0000000 0.0283555 1.0481141 1.0820110
나는이 내 임의의 데이터 세트에 대한 올바른 표시해야합니다 : 귀하의 답변에 대한
> colMeans(transform(df[,-1], interaction = x1 * x2))
x1 x2 interaction
0.0283555 1.0481141 1.0820110
감사합니다. 나는 상호 작용 열에 대해서만 의미를 원했고 모든 열에는 의미를 원하지 않았습니다. 'colMeans (model.matrix (fit)) [3]'로 접근 할 수 있는지는 좋은 습관이라고 생각하지만 정확하게 필요합니다. – marco
괜찮 으면 좋겠지 만 과장이 필요하다면 : mean (model.frame (fit) [, 3])은 더 명확하고 다른 열에 대해서는 추출 계산을하지 않아야합니다. –