R 中的循环:将输出存储在数据框中

Loop in R: Store output in a dataframe

这是我目前面临的问题: 我有一个包含 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 数据框)保存为新对象。

如有任何帮助,我们将不胜感激, 谢谢!

尝试在循环中执行以下操作:

我正在使用包 dplyr。

x <- "" %>% data.frame

for(i in 1:96){
y <- F(home[i,2:17]))
x <- bind_rows(x,y)
}

x <- x %>% .[-1,-1]