【发布时间】:2017-01-28 06:05:41
【问题描述】:
这是我目前面临的问题: 我有一个包含 96 个观察值(行)和 16 个变量(列)的数据框(我们称之为 A)。 我还有 16 个元素(A 的 16 个变量中每个变量的系数)的 9 个列向量(来自主成分分析)的旋转。
PCA 旋转保存如下:
ph=prcomp(home[ ,3:17], scale. = TRUE)
Home_vec=-round(ph$rotation[ ,1:9], 3)
现在,我已经能够将我的数据帧的其中一行乘以对象 Home_vec,输出等于将行乘以 9 个 PC 列中的每一列,然后应用 cbind。
例如行输入:
TEAM=c(5, 1503, 26.31, 16.2, 0.099, 33, 28, 368, 35, 15, 84, 942, 528, 33, 315)
我的新输出:
TEAM.1=round(TEAM*Home_vec,3)
我创建了一个 for 循环,它为我的数据框中的 96 个观察值中的每一个执行此过程。
F=function(x){
x*Home_vec
}
for(i in 1:96){
print(F(home[i,2:17]))
}
唯一的问题是 - 我正在努力将输出(这是一个 96 x 9 的数据框)保存为一个新对象。
任何帮助将不胜感激, 谢谢!
【问题讨论】: