簡體   English   中英

在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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM