J'essaie de combiner des matrices qui sont sorties par une boucle pour toutes les variables à l'intérieur d'une fonction dans R? disons que j'ai 179=length(b)
variables, et chaque variable donne une matrice a 2000 rows=nrow(data.test)
et 28 columns=length(x2)
. La matrice finale devrait avoir rows=nrow(data.test)
fois length(x2) * (ncol(data.test)-1)
J'ai essayé pour la boucle comme suit, mais les valeurs ne conservaient pas dans la dernière matricecomment combiner les matrices qui sont sorties par la boucle for en r
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
}
Peut-être que vous pouvez essayer de le mettre dans une liste d'abord ... puis d'exécuter cbind. Peut-être que cela vous permet de le déboguer plus facilement – zwep
Voulez-vous dire comme ceci pre_var = liste (cbind (pre_var, pred_test) signifie comme ça) – Amani
@Amani Êtes-vous sûr de la logique? 'true <- NULL; true [5] '(le reult est toujours' NULL') – jogo