是否可以重新排列dcast()调用的数据框的列?例如:
给定数据:
> 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")
所以,当我使用dcast()函数时:
library(reshape2)
dcast(copyOfRes, docName ~ week_number, length)
结果为:
docName 2 11
1 doc1 0 10
2 doc2 1 1
我希望能够按照
week_number
的值降序排列,获得如下的数据框: docName 11 2
1 doc1 10 0
2 doc2 1 1
我尝试使用dcast(copyOfRes, docName ~ sort(week_number, decreasing= TRUE), length)
,但仍然无法正常工作。有什么建议吗?
copyOfRes$week_number <- with(copyOfRes, factor(week_number, levels = sort(unique(week_number), decreasing=TRUE)))
的语句。然后,当您使用其他函数(如summary
)时,R会制表而不是尝试获取该列的平均值,而dcast
将能够实现您想要的功能。 - A5C1D2H2I1M1N2O1R2T1