La boucle ci-dessous modifie bloc
. Est-ce que sapply()
peut atteindre le même résultat?sapply et environnements
Ou en d'autres termes, est-ce que sapply()
peut mettre à jour des variables dans l'environnement de base? J'ai essayé d'utiliser assign()
mais sans succès. Je vous remercie.
n <- 100
fencePosts <- c(17,34)
bloc <- rep(0,n)
for (i in 1:length(fencePosts)){
bloc[fencePosts[i]:n] = i
}
table(bloc)
Je pensais à quelque chose comme la ligne suivante, mais bien sûr bloc
est hors de portée (bien que je ne sais pas pourquoi cela ne soulève pas un « bloc
introuvable » erreur).
zilch <- sapply(1:length(fencePosts),function(i)bloc[fencePosts[i]:n] = i)
Je le fais parfois, mais seulement quand je peux contenir l'objet attribué à, 'bloc' et l'appel' sapply() 'dans une petite fonction, qui prend' bloc', etc comme argument et retourne alors le 'bloc' modifié –