I am new to R and I am trying to add on to the vector a using both a function and a loop. Here is my code:
add_to_a <- function(num){
print (paste("This is a: ", paste(a,collapse =" ")))
for (i in 1:3){
a <- c(a,"hello")
}
}
a <- c()
for(i in 1:5){
a<- add_to_a(i)
}
My output is:
[1] "This is a: "
[1] "This is a: "
[1] "This is a: "
[1] "This is a: "
[1] "This is a: "
I was trying to debug this problem and added a print statement:
add_to_a <- function(num){
print (paste("This is a: ", paste(a,collapse =" ")))
for (i in 1:3){
a <- c(a,"hello")
}
print (a)
}
a <- c()
for(i in 1:5){
a<- add_to_a(i)
}
This is my output:
[1] "This is a: "
[1] "hello" "hello" "hello"
[1] "This is a: hello hello hello"
[1] "hello" "hello" "hello" "hello" "hello" "hello"
[1] "This is a: hello hello hello hello hello hello"
[1] "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello"
[1] "This is a: hello hello hello hello hello hello hello hello hello"
[1] "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello"
[1] "This is a: hello hello hello hello hello hello hello hello hello hello hello hello"
[1] "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello"
and a is updated at the end as expected:
[1] "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello" "hello"
Could you help me understand why the outputs in the 2 cases are different?