tidyr传播功能不会返回日期

时间:2015-05-25 12:33:02

标签: r dplyr tidyr

抱歉相对R新手在这里尝试用dplyr做更多事情。我有一个大数据框,有一个id列,end(日期为POSIXct)和D(代码结果~6种不同类型),这里示例:

   id        end  D
 1143 1996-08-10 KT
 1148 2000-07-27 KT
 1150 2004-07-02 KT
 1158 2001-11-03 KT

我想为结果KT创建一个子集。在这个结果中,许多id有1-4个结果,有不同的日期。我想创建一个如下所示的宽数据框:

   id    datetx1    datetx2    datetx3    datetx4
 1915 2014-10-13 2014-10-18       <NA>       <NA>
 2715 2006-09-17 2006-09-17 2006-09-17 2008-02-01
 5089 2007-02-02 2007-02-11       <NA>       <NA>
 5266 2007-04-16 2010-07-14 2010-07-14       <NA>

我一直在尝试使用dplyr和tidyr在从长到宽的过程中取得一些成功,但是我对这种方法的日期感到困惑:

transplant<-filter(outcomes, D == "KT") %>%
  filter(!is.na(date)) %>%
  group_by(id) %>%
  arrange((end)) %>%
  mutate(number = row_number()) %>%
  spread(number, date) 

问题在于传播,它会在其他列中创建我似乎无法强制进入日期的数值。我已经使用了日期as.character编码然后重新编码as.Date传播后的工作,但我错过了关于tidyr和日期编码的东西?

0 个答案:

没有答案