Logiquement, ce code devrait avoir du sens, je suis principalement un programmeur Python mais je ne comprends pas pourquoi cela ne fonctionne pas. Aucune erreur n'est renvoyée. Ce que je veux, c'est que ce vecteur principalement composé de zéros soit modifié en un vecteur contenant uniquement des 1 et des -1 (d'où l'utilisation de la fonction sample). Mon problème est que les valeurs du vecteur ne sont pas mises à jour, elles restent simplement à 0 et je ne sais pas pourquoi.
Y = numeric(100)
for (i in 100){
x <- sample(1:2, 1)
if (x == 2){
Y[i] = 1
}
else{
Y[i] = -1
}
}
J'ai également changé Y[i] = 1 en Y[i] <- 1 mais cela n'a pas aidé. Je sais aussi que x est soit 1 soit 2 car je le teste manuellement en utilisant x == 2...etc
La seule autre possibilité que je puisse penser est que x est un entier alors que les nombres renvoyés par sample ne le sont pas mais après vérification : (Remarquez que x = 2L après la sortie de la boucle)
> typeof(x)
[1] "integer"
> typeof(2)
[1] "double"
> x == 2
[1] TRUE
Je ne pense pas que ce soit le problème.
Des suggestions ?