按日期重新排序R数据框列

时间:2015-03-10 16:44:35

标签: r

我正在尝试输出几个基本表,并按月 - 年按顺序排列。之前,这似乎不是一个问题,但现在我得到的列的顺序不正确 - 看起来按字母顺序排列。

f$admission int [1:323] 1 2 2 2 1 1 1 1 1 1 ...
f$date  chr [1:323] "Jan-14" "Jan-14" "Jan-14" "Jan-14" "Jan-14" "Jan-14" "Jan-14" "Jan-14" "Jan-14" ...

这是我创建表格的代码

  ## Create Monthly variable based on Admission Date
    f$date <- format(as.Date(f$DateOriginal), "%b-%y")
    f$date <- f[order(f$date),]
    table(f$admission, order(as.date(f$date)))

这是我的输出:

Apr-14 Aug-14 Dec-14 Feb-14 Feb-15 Jan-14 Jan-15 Jul-14 Jun-14 Mar-14 May-14 Nov-14 Oct-14 Sep-14
  1     18     15     19     12      9     14     18     14     13     16     21     20     17     18
  2      8      5      5      0      1      5      2      1      3      8      6      9      5     10
  3      1      2      1      2      1      1      0      2      4      0      1      2      1      1
  4      0      0      1      0      0      0      0      1      0      0      0      0      1      1
  5      1      0      0      0      0      0      1      1      0      0      0      0      0      1
  6      0      0      0      0      0      0      0      0      0      0      1      0      0      0
  7      0      1      0      0      0      0      0      0      0      0      0      0      0      0
  9      0      0      0      0      0      0      0      1      1      0      0      0      0      0

1 个答案:

答案 0 :(得分:0)

你可以尝试

table(f$admission, factor(f$date, levels=unique(f$date)))

数据

date <-  paste(rep(rep(month.abb,each=2),2), rep(c(14,15),each=24), sep="-")
 set.seed(24)
 f <- data.frame(admission=sample(1:5, 24, replace=TRUE), 
                          date, stringsAsFactors=FALSE)