[英]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.