Is it possible to reorder the columns of data frame which is a result of dcast() call E.x.
Given the data:
> dput(copyOfRes)
structure(list(docName = c("doc2", "doc1", "doc1", "doc1", "doc1",
"doc1", "doc1", "doc1", "doc1", "doc1", "doc1", "doc2"), day_of_week = c(11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 2)), .Names = c("docName",
"week_number"), row.names = c(NA, -12L), class = "data.frame")
So, when I use dcast() as follows:
library(reshape2)
dcast(copyOfRes, docName ~ week_number, length)
the result is:
docName 2 11
1 doc1 0 10
2 doc2 1 1
I would like to have the data frame with decreasing value of week_number
as follows:
docName 11 2
1 doc1 10 0
2 doc2 1 1
I tried doing dcast(copyOfRes, docName ~ sort(week_number, decreasing= TRUE), length)
, but it still does not work. Any suggestions?
You can use factor()
inside dcast()
set appropriate order of levels.
dcast(copyOfRes,
docName ~ factor(week_number,levels=unique(week_number)), length)
docName 11 2
1 doc1 10 0
2 doc2 1 1
You can use reorder
here with rev
dcast(copyOfRes, docName ~ reorder(week_number,rev(week_number)), length)
Using week_number as value column: use value.var to override.
docName 11 2
1 doc1 10 0
2 doc2 1 1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With