2017-10-10 6 views
0

J'ai un problème à l'intérieur pour la boucle dans R en appelant une variable dans la fonction de calcul. J'ai utilisé le paquetage neuralnet et j'ai calculé six variables ann (réseau neuronal artificiel) différentes. Ceux-ci sont stockés dans la section Valeurs de la fenêtre d'environnement.Appel d'une variable définie à l'intérieur d'une fonction qui est dans la boucle, R

for (i in 1:6) { 

predictions = compute(paste("neuralmodel_t",i, sep=""),new_pred[,1:4]) 

} 

L'erreur qui en résulte pour cette boucle est;

Error: $ operator is invalid for atomic vectors 

Normalement, je peux exécuter ces fonctions séparément. Par exemple, la fonction qui est à la ci-dessous fonctionne;

compute(neuralmodel_t1,new_pred[,1:4]) 

Ainsi, toute aide sera appréciée.

Merci d'avance.

Répondre

0

Votre commande

paste("neuralmodel_t",i, sep="") 

ne crée juste une chaîne, il n'a pas accès à la variable avec le nom correspoding. Vous devez utiliser get.

for (i in 1:6) { 
    predictions = compute(get(paste("neuralmodel_t", i, sep = "")), new_pred[, 1:4]) 
}