I have the following for loop which prints numbers from 1 to 10:
for (i in 1:10) {print (i) }
How do I save the results as a vector, instead of just printing them to the console?
If I try:
my_vector <- for (i in 1:10) {print (i) }
Then call my_vector
, I get:
NULL
Calling print
will always print the result of each iteration to the console. If you leave in the print
command, then you might get unwanted output.
Your main problem is that you did not initialize my_vector
before the for
loop. You could instead do the following and not get the print
side-effect.
my_vector <- vector("numeric", 10L)
for(i in 1:10) my_vector[i] <- i
my_vector
# [1] 1 2 3 4 5 6 7 8 9 10
But note that this is just the same as doing the following with sapply
, but in this case you need no declaration and you can assign the result to a vector.
my_vector2 <- sapply(1:10, function(x) x)
my_vector2
# [1] 1 2 3 4 5 6 7 8 9 10
Alternatively
my_vector = c()
for(i in 1:5){my_vector=c(my_vector,i)}
my_vector
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With