J'ai une boucle qui fonctionne bien, mais la sortie n'est renvoyée que dans la console, la donnée n'est pas modifiée.La boucle ne change pas les valeurs dans la trame - R
- une fin de la boucle de la tête (données) est renvoyée dans la console, produisant les valeurs attendues dans la colonne prévue
- cependant, ce n'est pas changé dans la trame de données d'origine, où je veux les valeurs apparaître (impression de la tête (données) me donne maintenant les valeurs d'origine, et non pas les nouvelles créées par la boucle)
Exemple de code:
df <- cbind(x,y)
myfun <- function(z){
counter <- 0
for (i in 1:z) {
counter <- 1 + counter
for (j in 1:5) {
counter <- 1 + counter
if (condition_a){
df[counter,2] <- 0
}
if (condition_b){
df[counter,2] <- 1
}
}
}
return(head(df))
newdf <- df[,2]
}
Qu'est-ce que je manque?
Les valeurs sont de classe int, cela devrait-il être le cas?
Veuillez fournir un exemple reproductible. Voir [demander] – Cath
vous êtes léger sur les détails .. besoin d'inclure un exemple reproductible et votre code. – MLavoie
Veuillez ajouter vos ensembles de données, expliquer ce que vous essayez de faire et fournir la sortie désirée. Nous pourrions fermer ceci en résolvant votre problème local en disant d'utiliser quelque chose comme '<< -', mais je crois que toute votre approche est incorrecte et cela pourrait être résolu beaucoup plus facilement sans toutes ces boucles inutiles et certainement sans utiliser << - –