I'm trying to convert a list of vectors (a multidimensional array essentially) into a data frame, but every time I try I'm getting unexpected results.

My aim is to instantiate a blank list, populate it in a for loop with vectors containing information about that iteration of the loop, then convert it into a data frame after it's finished.

```
> vectorList <- list()
> for(i in 1:5){
+ vectorList[[i]] <- c("number" = i, "square root" = sqrt(i))
+ }
> vectorList
```

Outputs:

```
> [[1]]
> number square root
> 1 1
>
> [[2]]
> number square root
> 2.000000 1.414214
>
> [[3]]
> number square root
> 3.000000 1.732051
>
> [[4]]
> number square root
> 4 2
>
> [[5]]
> number square root
> 5.000000 2.236068
```

Now I want this to become a data frame with 5 observations of 2 variables, but trying to create a data frame from 'vectorList'

```
numbers <- data.frame(vectorList)
```

results in 2 observations of 5 variables.

Weirdly it won't even be coerced with reshape2 (which I know would be an awful work around, but I tried).

Anyone got any insight?

You can use:

```
as.data.frame(do.call(rbind, vectorList))
```

Or:

```
library(data.table)
rbindlist(vectorList)
```

Or:

```
library(dplyr)
bind_rows(vectorList)
```