# Creating a matrix from a long data.frame

**mages' blog**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

There can never be too many examples for transforming data with R. So, here is another example of reshaping a `data.frame`

into a `matrix`

.

Here I have a data frame that shows incremental claim payments over time for different loss occurrence (origin) years.

The format of the data frame above is how this kind of data is usually stored in a data base. However, I would like to see the payments of the different origin years in rows of a matrix.

The first idea might be to use the `reshape`

function, but that would return a `data.frame`

. Yet, it is actually much easier with the `matrix`

function itself. Most of the code below is about formatting the dimension names of the matrix. Note that I use the `with`

function to save me a bit of typing.

An elegant alternative to `matrix`

provides the `acast`

function of the `reshape2`

package. It has a nice formula argument and allows me not only to specify the aggregation function, but also to add the margin totals.

**leave a comment**for the author, please follow the link and comment on their blog:

**mages' blog**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.