library(Keng)
data("depress")
# 查看所有变量名
names(depress)
## [1] "id" "class" "grade" "elite" "intervention"
## [6] "gender" "age" "cope1i1p" "cope1i2p" "cope1i3a"
## [11] "cope1i4a" "cope1i5e" "cope1i6p" "cope1i7e" "cope1i8e"
## [16] "cope1i9a" "cope1i10p" "cope1i11a" "cope1i12a" "cope1i13e"
## [21] "cope1i14e" "cope1i15p" "cope1i16e" "cope1i17e" "cope1i18a"
## [26] "cope1i19e" "cope1i20a" "cope1i21p" "cope1i22e" "cope1i23a"
## [31] "cope1i24p" "cope1i25e" "cope1i26p" "cope1i27p" "cope1i28e"
## [36] "cope1i29a" "cope1i30e" "cope1i31a" "cope1i32a" "cope1i33e"
## [41] "cope1i34e" "cope1i35a" "cope1i36p" "cope1i37a" "cope1i38e"
## [46] "cope1i39p" "cope1i40a" "cope1i41p" "cope1i42p" "cope1i43p"
## [51] "cope1i44a" "cope1i45e" "cope1i46p" "cope1i47p" "cope1i48a"
## [56] "cope2i1p" "cope2i2p" "cope2i3a" "cope2i4a" "cope2i5e"
## [61] "cope2i6p" "cope2i7e" "cope2i8e" "cope2i9a" "cope2i10p"
## [66] "cope2i11a" "cope2i12a" "cope2i13e" "cope2i14e" "cope2i15p"
## [71] "cope2i16e" "cope2i17e" "cope2i18a" "cope2i19e" "cope2i20a"
## [76] "cope2i21p" "cope2i22e" "cope2i23a" "cope2i24p" "cope2i25e"
## [81] "cope2i26p" "cope2i27p" "cope2i28e" "cope2i29a" "cope2i30e"
## [86] "cope2i31a" "cope2i32a" "cope2i33e" "cope2i34e" "cope2i35a"
## [91] "cope2i36p" "cope2i37a" "cope2i38e" "cope2i39p" "cope2i40a"
## [96] "cope2i41p" "cope2i42p" "cope2i43p" "cope2i44a" "cope2i45e"
## [101] "cope2i46p" "cope2i47p" "cope2i48a" "cope3i1p" "cope3i2p"
## [106] "cope3i3a" "cope3i4a" "cope3i5e" "cope3i6p" "cope3i7e"
## [111] "cope3i8e" "cope3i9a" "cope3i10p" "cope3i11a" "cope3i12a"
## [116] "cope3i13e" "cope3i14e" "cope3i15p" "cope3i16e" "cope3i17e"
## [121] "cope3i18a" "cope3i19e" "cope3i20a" "cope3i21p" "cope3i22e"
## [126] "cope3i23a" "cope3i24p" "cope3i25e" "cope3i26p" "cope3i27p"
## [131] "cope3i28e" "cope3i29a" "cope3i30e" "cope3i31a" "cope3i32a"
## [136] "cope3i33e" "cope3i34e" "cope3i35a" "cope3i36p" "cope3i37a"
## [141] "cope3i38e" "cope3i39p" "cope3i40a" "cope3i41p" "cope3i42p"
## [146] "cope3i43p" "cope3i44a" "cope3i45e" "cope3i46p" "cope3i47p"
## [151] "cope3i48a" "depr1i1" "depr1i2" "depr1i3" "depr1i4"
## [156] "depr1i5" "depr1i6" "depr1i7" "depr1i8" "depr1i9"
## [161] "depr1i10" "depr1i11" "depr1i12" "depr1i13" "depr1i14"
## [166] "depr1i15" "depr1i16" "depr1i17" "depr1i18" "depr1i19"
## [171] "depr1i20" "depr2i1" "depr2i2" "depr2i3" "depr2i4"
## [176] "depr2i5" "depr2i6" "depr2i7" "depr2i8" "depr2i9"
## [181] "depr2i10" "depr2i11" "depr2i12" "depr2i13" "depr2i14"
## [186] "depr2i15" "depr2i16" "depr2i17" "depr2i18" "depr2i19"
## [191] "depr2i20" "depr3i1" "depr3i2" "depr3i3" "depr3i4"
## [196] "depr3i5" "depr3i6" "depr3i7" "depr3i8" "depr3i9"
## [201] "depr3i10" "depr3i11" "depr3i12" "depr3i13" "depr3i14"
## [206] "depr3i15" "depr3i16" "depr3i17" "depr3i18" "depr3i19"
## [211] "depr3i20" "ecr1avo" "ecr2anx" "ecr3avo" "ecr4avo"
## [216] "ecr5anx" "ecr6avo" "ecr7anx" "ecr8avo" "ecr9avo"
## [221] "avo" "anx" "am1" "am2" "am3"
## [226] "em1" "em2" "em3" "dm1" "dm2"
## [231] "dm3" "pm1" "pm2" "pm3"
# 计算三次抑郁得分的均值作为抑郁特质的真分数
## 方法1:rowMeans
T <- rowMeans(depress[c("dm1","dm2","dm3")])
## 方法2:使用apply函数,将mean函数应用于数据的行
T <- apply(X = depress[c("dm1","dm2","dm3")], MARGIN = 1, FUN = mean)
# 计算Time 1抑郁得分的误差
E1 <- depress$dm1 - T
# 计算三次抑郁得分的误差
# FUN的值为匿名函数
E <- sapply(X = depress[c("dm1","dm2","dm3")], FUN = function(X) X - T)
# 对矩阵E的列进行重命名
colnames(E) <- paste0(colnames(E), "_d")
# 计算观察分数的方差
# 使用apply函数,将var函数应用于数据的行
v <- apply(X = depress[c("dm1","dm2","dm3")], MARGIN = 1, FUN = var)
# 计算观察分数的标准差
# 使用apply函数,将sd函数应用于数据的行
sd <- apply(X = depress[c("dm1","dm2","dm3")], MARGIN = 1, FUN = sd)
# 合并数据,cbind函数执行column bind
dat <- cbind(depress[c("dm1","dm2","dm3")], T, E, v, sd)
# 查看数据
head(dat)
## dm1 dm2 dm3 T dm1_d dm2_d dm3_d v
## 1 1.55 1.80 2.00 1.783333 -0.2333333 0.01666667 0.21666667 0.05083333
## 2 1.55 1.85 2.25 1.883333 -0.3333333 -0.03333333 0.36666667 0.12333333
## 3 1.90 1.65 1.65 1.733333 0.1666667 -0.08333333 -0.08333333 0.02083333
## 4 1.35 1.65 1.60 1.533333 -0.1833333 0.11666667 0.06666667 0.02583333
## 5 1.30 2.25 2.10 1.883333 -0.5833333 0.36666667 0.21666667 0.26083333
## 6 1.95 1.60 1.65 1.733333 0.2166667 -0.13333333 -0.08333333 0.03583333
## sd
## 1 0.2254625
## 2 0.3511885
## 3 0.1443376
## 4 0.1607275
## 5 0.5107184
## 6 0.1892969
第3章
Chapter 3
本章涉及到观察分数X、真分数T与误差E的计算,R代码如下: