簡體   English   中英

如何合並r中for循環輸出的矩陣

[英]how to combine the matrices that are output by the for loop in r

我正在嘗試將for循環輸出的矩陣組合到R函數中的所有變量中? 可以說我有179=length(b)變量,每個變量給出的矩陣有2000 rows=nrow(data.test)28 columns=length(x2) 最終矩陣應具有rows=nrow(data.test)乘以length(x2) * (ncol(data.test)-1)我嘗試如下進行循環,但值未存儲在最后一個矩陣中

  MyFunction <- function(data.train,x2,no.sample,data.test )
{  pre_var  = matrix(,nrow = nrow(data.test), ncol = length(x2) * (ncol(data.test)-1))
for( b in 1:(ncol(data.test)-1))
{  false= NULL ; true=NULL
  pred_test = matrix(,nrow = nrow(data.test), ncol = length(x2))
  for(w in 1:length(x2))
  {  ## there are some lines here to produce false and true values

    pred_test[,w] = as.numeric(ifelse(data.test[,b] > x2[w] 
                                      ,true[w] ,false[w]))}
  pre_var = cbind(pre_var,pred_test)
}
results = NULL
results = pre_var
}

為了簡單起見,我們假設這是您的結果之一的矩陣

A = matrix(runif(9),ncol=3)

您想要做的是先將它們放在列表中。 在這種設置下,我只需要重復原始矩陣即可。 就您而言,您當然會生成矩陣

A_list = rep(list(A),5)

下一步是將它們綁定在一起。 這里我們有一個簡單的cbind-forloop。

n <- length(A_list)
res <- NULL
for(i in seq(n)){
    res <- cbind(res, A_list[[i]])
}
res

Voila,我想這就是您想要的。

暫無
暫無

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

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