On 8/18/2011 1:40 PM, Alexander Schwall wrote:
Hi R community,

I have been trying to figure out why R is reversing the order of rows after
I run data.matrix()

Here is my data:

df<-structure(list(itmID = c(1L, 2L, 1L, 2L, 1L, 2L), variable =
structure(c(1L,

1L, 2L, 2L, 3L, 3L), .Label = c("3", "2", "1"), class = "factor"),
     value = c(0.7, 0.52, -1.16, -0.91, 0, 0)), .Names = c("itmID",

"variable", "value"), row.names = c(NA, -6L), class = "data.frame")(NA,
-6L), class = "data.frame")

The data looks like this now


df

   itmID variable value
1     1        3  0.70
2     2        3  0.52
3     1        2 -1.16
4     2        2 -0.91
5     1        1  0.00
6     2        1  0.00


however after running data.matrix(df) I get:


      itmID variable value
[1,]     1        1  0.70
[2,]     2        1  0.52
[3,]     1        2 -1.16
[4,]     2        2 -0.91
[5,]     1        3  0.00
[6,]     2        3  0.00


Note, only the order of the column "variable" as been reversed 332211
to 112233, not the order of the other columns. So, the data is now out
of order.

From the data.matrix documentation:

"Factors and ordered factors are replaced by their internal codes."

Note that variable is a factor:

> str(df)
'data.frame':   6 obs. of  3 variables:
 $ itmID   : int  1 2 1 2 1 2
 $ variable: Factor w/ 3 levels "3","2","1": 1 1 2 2 3 3
 $ value   : num  0.7 0.52 -1.16 -0.91 0 0

So what you see as "3" is level 1, "2" is level 2, and "1" is level 3, which is consistent with what you are seeing as the result of data.matrix(df)

df$variable <- as.numeric(as.character(df$variable))

will change it to an actual number

> str(df)
'data.frame':   6 obs. of  3 variables:
 $ itmID   : int  1 2 1 2 1 2
 $ variable: num  3 3 2 2 1 1
 $ value   : num  0.7 0.52 -1.16 -0.91 0 0
> data.matrix(df)
     itmID variable value
[1,]     1        3  0.70
[2,]     2        3  0.52
[3,]     1        2 -1.16
[4,]     2        2 -0.91
[5,]     1        1  0.00
[6,]     2        1  0.00

Any thoughts. What I am doing wrong?


Thanks

Alexander

        [[alternative HTML version deleted]]



--
Brian S. Diggs, PhD
Senior Research Associate, Department of Surgery
Oregon Health & Science University

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to