我试图在一个相对较小的数据集(n = 22,p = 17)上对由 LARS 算法生成的线性回归进行留一交叉验证。本质上,我需要创建 n 个标准化数据矩阵(每列由以平均值为中心并由列的 SD 标准化的条目组成)。
我以前从未使用过列表,但只要可以操作/标准化不同矩阵的列,我就愿意制作列表。
这是我在 R 中尝试过的:
for (i in 1:n)
{
x.standardized.i <- matrix(data = NA, nrow = (n-1), ncol = p) #creates n matrices, all n-1 x p
for (j in 1:p)
{
x.standardized.i[,j] <- ((x[-i,j]-mean(x[-i,j]))/sd(x[-i,j])) #and standardizes the p variables with the ith row missing in each n matrix (i increments from 1 to n)
}
}
我不确定我是否可以共享数据,因为它与班级的成绩有关,但是当我运行代码时,它会通过循环并通过分配一个标准化矩阵来停止,最后一行缺失为 x.standardized.i .