如何在r中将double类型更改为表?

时间:2016-11-02 19:12:06

标签: r

我得到了如下数据:

1.Apr.15  1.Apr.16  1.Aug.14 
   549       655        3  

我想知道如何将这些数据更改为如下表:

       14       15       16
1.Apr           549      655
1.Aug  3

我试图使用表格,但它没有给我正确的结果。

1 个答案:

答案 0 :(得分:0)

如果不是您想要的,可能会使用tidyr包关闭。请注意,我更改了日期的格式(到month.day.year),因为数据框中的列名不能以数字开头。

d <- data.frame("Apr.1.15" = 549, "Apr.1.16" = 655, "Aug.1.14" = 3)

library(tidyr)
gather(d) %>% 
    separate(key, c("month", "day", "year"), sep = "\\.") %>% 
    spread(year, value)

#   month day 14  15  16
# 1   Apr   1 NA 549 655
# 2   Aug   1  3  NA  NA