Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R: converting dataframe to table

Tags:

r

I have a dataframe in R with three variables named for example df$V1, df$V2, df$V3. df$V1 and df$V2 are both factors, while df$V3 is numeric.

df <- data.frame(
  V1 = letters[1:4],
  V2 = rep(LETTERS[1:3], each = 4),
  V3 = 1:12
)

I am looking for a way to create a table that contains the values in df$V3, with df$V1 as the rows, and df$V2 as the columns.

I tried variations on table, but didn't get anywhere. Perhaps someone could help, Thanks in advance, Davy.

like image 610
Davy Kavanagh Avatar asked Jul 05 '11 14:07

Davy Kavanagh


2 Answers

This is an alternative to table:

xtabs(V3 ~ V1 + V2, df)
like image 82
Aaron left Stack Overflow Avatar answered Sep 17 '22 15:09

Aaron left Stack Overflow


As mentioned by ran2, you can use the reshape package. Here is an example:

df <- data.frame(V1 = factor(sample(letters[1:5],100,replace=TRUE)),
                 V2 = factor(toupper(sample(letters[1:5],100,replace=TRUE))),
                 V3 = runif(100))
library(reshape)
cast(df, V1 ~ V2, mean)
like image 26
nullglob Avatar answered Sep 20 '22 15:09

nullglob