# Resolved: Creating an empty vector with variable length

Hello,

In the previous lecture, we explicitly defined the length of an empty vector `"new.title <- vector(length=5)"`

, so it can store 5 elements from the For loop.

Is it possible to create an empty vector that can store a variable number of elements?

For instance, I apply the Collatz conjecture for this while loop:

```
x <- 10
x
while (x != 1) {
if ((x %% 2) == 0) {
x <- x / 2
} else {
x <- x * 3 + 1
}
print(x)
}
```

Since we can set any positive integer for **x**, we would also have different number of results from the Collatz conjecture before it reaches 1.

So, instead of "printing" the new value of vector **x** on each cycle, I want to store them in a vector first, then just print the vector once the loop breaks.

Kind regards,

Carl

Hi Carl,

yes, you can create a vector, or character array which you can gradually fill in the for loop. To do so, you can define the array like so:

```
my_vec <- character() # Create empty character vector
my_vec
```

Then you can fill it up with the value of x in the for loop like so:

```
while (x != 1) {
if ((x %% 2) == 0) {
x <- x / 2
my_vec <- c(my_vec, x)
} else {
x <- x * 3 + 1
my_vec <- c(my_vec, x) } }
```

Let me know if the solution works for you.

Best,

365 Eli