Якщо ви хочете отримати "ефект сім'ї" та "ефект елемента", ми можемо подумати про те, що існують випадкові перехоплення для обох, а потім моделювати це за допомогою пакету "lme4".
Але, спершу ми повинні дати кожному рідному брату унікальний ідентифікатор, а не унікальний ідентифікатор в сім'ї.
Тоді для "співвідношення між вимірюваннями, проведеними на братів і сестер у межах однієї сім'ї для різних предметів", ми можемо вказати щось на кшталт:
mod<-lmer(value ~ (1|family)+(1|item), data=family)
Це дасть нам перехоплення фіксованих ефектів для всіх братів і сестер, а потім два перехоплення випадкових ефектів (з відхиленням) для сім'ї та предмета.
Тоді, для "співвідношення між вимірюваннями, проведеними на братів і сестер в одній родині для одного і того ж предмета", ми можемо зробити те ж саме, але просто підмножимо наші дані, тому у нас є щось на зразок:
mod2<-lmer(value ~ (1|family), data=subset(family,item=="1"))
Я думаю, що це може бути простішим підходом до вашого питання. Але, якщо ви просто хочете ICC для елемента чи сім'ї, пакет "psych" має функцію ICC () - будьте обережні, як предмет та значення плавляться у ваших даних прикладу.
Оновлення
Деякі з наведених нижче для мене є новими, але мені подобалося опрацьовувати це. Я дійсно не знайомий з ідеєю негативної внутрішньокласової кореляції. Хоча в Вікіпедії я бачу, що «раннє визначення ICC» допускало негативну кореляцію з парними даними. Але як це найчастіше використовується зараз, ICC розуміється як частка загальної дисперсії, яка є дисперсією між групами. І це значення завжди позитивне. Хоча Вікіпедія може бути не найавторитетнішою посиланням, цей підсумок відповідає тому, як я завжди бачив ICC:
Перевагою цієї рамки ANOVA є те, що різні групи можуть мати різну кількість значень даних, що важко обробити, використовуючи попередні статистичні дані ICC. Зауважимо також, що цей ICC завжди є негативним, що дозволяє інтерпретувати його як частку загальної дисперсії, яка є "між групами". Цей ICC може бути узагальнений для забезпечення коваріантних ефектів; у цьому випадку ICC інтерпретується як фіксація схожості значень даних, скоригованих за коваріатом, у межах класу.
Однак, за даними, наведеними тут, міжкласовий зв’язок між пунктами 1, 2 і 3 може бути дуже негативним. І ми можемо моделювати це, але частка дисперсії, поясненої між групами, все ще буде позитивною.
# load our data and lme4
library(lme4)
## Loading required package: Matrix
dat<-read.table("http://www.wvbauer.com/fam_sib_item.dat", header=TRUE)
Отже, який відсоток дисперсії є між сімействами, контролюючи також різницю між групами між групами предметів? Ми можемо використовувати модель випадкових перехоплень, як ви запропонували:
mod<-lmer(yijk ~ (1|family)+(1|item), data=dat)
summary(mod)
## Linear mixed model fit by REML ['lmerMod']
## Formula: yijk ~ (1 | family) + (1 | item)
## Data: dat
##
## REML criterion at convergence: 4392.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.6832 -0.6316 0.0015 0.6038 3.9801
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.3415 0.5843
## item (Intercept) 0.8767 0.9363
## Residual 4.2730 2.0671
## Number of obs: 1008, groups: family, 100; item, 3
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 2.927 0.548 5.342
Ми обчислюємо ICC, отримуючи дисперсію від двох перехоплювачів випадкових ефектів та від залишків. Потім обчислюємо квадрат сімейної дисперсії над сумою квадратів усіх дисперсій.
temp<-as.data.frame(VarCorr(mod))$vcov
temp.family<-(temp[1]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.family
## [1] 0.006090281
Тоді ми можемо зробити те ж саме для двох інших оцінок дисперсії:
# variance between item-groups
temp.items<-(temp[2]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.items
## [1] 0.04015039
# variance unexplained by groups
temp.resid<-(temp[3]^2)/(temp[1]^2+temp[2]^2+temp[3]^2)
temp.resid
## [1] 0.9537593
# clearly then, these will sum to 1
temp.family+temp.items+temp.resid
## [1] 1
Ці результати говорять про те, що дуже мало загальної дисперсії пояснюється різницею між сім'ями або між групами предметів. Але, як зазначалося вище, міжкласовий зв’язок між предметами все-таки може бути негативним. Спочатку давайте отримаємо наші дані в ширшому форматі:
# not elegant but does the trick
dat2<-cbind(subset(dat,item==1),subset(dat,item==2)[,1],subset(dat,item==3)[,1])
names(dat2)<-c("item1","family","sibling","item","item2","item3")
Тепер ми можемо моделювати співвідношення між, наприклад, item1 та item3 з випадковим перехопленням для сім'ї, як і раніше. Але спочатку, мабуть, варто нагадати, що для простої лінійної регресії квадратний корінь r-квадрата моделі є таким же, як міжкласовий коефіцієнт кореляції (r. Пірсона) для item1 та item2.
# a simple linear regression
mod2<-lm(item1~item3,data=dat2)
# extract pearson's r
sqrt(summary(mod2)$r.squared)
## [1] 0.6819125
# check this
cor(dat2$item1,dat2$item3)
## [1] 0.6819125
# yep, equal
# now, add random intercept to the model
mod3<-lmer(item1 ~ item3 + (1|family), data=dat2)
summary(mod3)
## Linear mixed model fit by REML ['lmerMod']
## Formula: item1 ~ item3 + (1 | family)
## Data: dat2
##
## REML criterion at convergence: 1188.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.3148 -0.5348 -0.0136 0.5724 3.2589
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.686 0.8283
## Residual 1.519 1.2323
## Number of obs: 336, groups: family, 100
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) -0.07777 0.15277 -0.509
## item3 0.52337 0.02775 18.863
##
## Correlation of Fixed Effects:
## (Intr)
## item3 -0.699
Зв'язок між пунктом1 та позицією3 позитивний. Але, щоб перевірити, чи ми можемо отримати тут негативну кореляцію, давайте маніпулюємо нашими даними:
# just going to multiply one column by -1
# to force this cor to be negative
dat2$neg.item3<-dat2$item3*-1
cor(dat2$item1, dat2$neg.item3)
## [1] -0.6819125
# now we have a negative relationship
# replace item3 with this manipulated value
mod4<-lmer(item1 ~ neg.item3 + (1|family), data=dat2)
summary(mod4)
## Linear mixed model fit by REML ['lmerMod']
## Formula: item1 ~ neg.item3 + (1 | family)
## Data: dat2
##
## REML criterion at convergence: 1188.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.3148 -0.5348 -0.0136 0.5724 3.2589
##
## Random effects:
## Groups Name Variance Std.Dev.
## family (Intercept) 0.686 0.8283
## Residual 1.519 1.2323
## Number of obs: 336, groups: family, 100
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) -0.07777 0.15277 -0.509
## neg.item3 -0.52337 0.02775 -18.863
##
## Correlation of Fixed Effects:
## (Intr)
## neg.item3 0.699
Так що так, відносини між предметами можуть бути негативними. Але якщо ми подивимось на частку дисперсії, яка є між сім'ями у цій родині, тобто ICC (сім'я), це число все одно буде позитивним. Як і раніше:
temp2<-as.data.frame(VarCorr(mod4))$vcov
(temp2[1]^2)/(temp2[1]^2+temp2[2]^2)
## [1] 0.1694989
Отже, для зв’язку між item1 та item3 приблизно 17% цієї дисперсії пов'язано з дисперсією між сім'ями. І ми все ще допускаємо наявність негативного співвідношення між елементами.