CetteLa création d'un objet dans les noms <-() donne une erreur. Comment expliquer?
x <- list(12, 13)
names(y <- x) <- c("a", "b")
donne l'erreur:
Error in names(y <- x) <- c("a", "b") : object 'y' not found
Quelqu'un peut-il expliquer pourquoi?
Selon les règles d'évaluation de R, y <- x
doit être évalué dans la trame parente des noms < -. Donc, y devrait être créé dans un environnement global.
Merci.
[mise à jour] Si l'objet y
est déjà présent dans l'environnement mondial, l'erreur est:
Error in names(y <- x) <- c("a", "b") : could not find function "<-<-"
[MAJ2] Ici, il est, une autre construction, que je rencontrais aujourd'hui.
(X <- matrix(0, nrow = 10, ncol = 10))[1:3] <- 3:5
Error during wrapup: object 'X' not found
@Marek Ha, en effet. Alors ça ressemble à un bug pour moi. Cela signifie que les noms d'origine (..) <- ... ne sont pas littéralement convertis en noms <- (..) par l'analyseur. – VitoshKa
Cela surcharge juste 'names', donc il y a une version de fonction, et une version d'objet de données. Je ne reçois pas la même erreur quand j'essaye l'exemple: j'obtiens 'could not find function" <- <- "' – James
Cette erreur ne survient qu'après la création de l'objet y dans l'environnement global. L'erreur que j'ai posté est la toute première. – VitoshKa