Enregistrement des résultats de boucle for comme un vecteur de r
J'ai le texte suivant pour la boucle qui affiche les nombres de 1 à 10:
for (i in 1:10) {print (i) }
Comment faire pour enregistrer les résultats sous forme d'un vecteur, au lieu de simplement de les imprimer à la console?
Si j'essaie:
my_vector <- for (i in 1:10) {print (i) }
Alors appel my_vector
, j'obtiens:
NULL
OriginalL'auteur Zslice | 2014-10-12
Vous devez vous connecter pour publier un commentaire.
Appel
print
toujours imprimer le résultat de chaque itération de la console. Si vous le laissez dans leprint
commande, alors vous pourriez obtenir indésirables de sortie.Votre principal problème est que vous n'avez pas initialiser
my_vector
avant lafor
boucle. Vous pourriez au lieu de faire la suite et ne pas avoir l'print
d'effets secondaires.Mais note que c'est la même chose que de faire ce qui suit avec
sapply
, mais dans ce cas, vous n'avez pas besoin de déclaration et vous pouvez affecter le résultat d'un vecteur.sapply(1:10, identity)
,sapply(1:10, force)
ousapply(1:10, "(")
. Ou, avec vapply:vapply(1:10, "(", 1L)
Ah,
force
est ce à quoi je pensais plus tôt. Que"("
méthode est certainement nouveau pour moi. Jamais pensé à le faire.est-il un moyen de le faire avec
dplyr
ou quoi que ce soit à partir de latidyverse
? Juste poser une question théoriqueOriginalL'auteur Rich Scriven
Formulaire ci-dessous peuvent également être utilisés:
OriginalL'auteur rnso
Sinon
OriginalL'auteur Anastasiya-Romanova 秀