如何在R中将日期放在我的输出的顶部列上

如何在R中将日期放在我的输出的顶部列上,r,R,我有三列数据 Category Date Value A 10/12/2018 1 A 10/14/2018 2 B 10/12/2018 3 B 10/13/2018 4 C 10/12/2018 5 C 10/14/2018 6 如何转换我的输出,使输出在顶部有这样的日期,并对类别进行分组 10/12/2018 10/13/2018 10/14/2018 A 1 2 B 3 4 C 5

我有三列数据

Category Date Value
A 10/12/2018 1
A 10/14/2018 2
B 10/12/2018 3
B 10/13/2018 4
C 10/12/2018 5
C 10/14/2018 6
如何转换我的输出,使输出在顶部有这样的日期,并对类别进行分组

   10/12/2018 10/13/2018 10/14/2018
A     1                      2
B     3           4
C     5                      6

我尝试过搜索交叉表和一些基本的R函数,非常感谢您的想法。

这是一个重塑问题

library(tidyr)

df %>% spread(Date,Value)

  Category 10/12/2018 10/13/2018 10/14/2018
1        A          1         NA          2
2        B          3          4         NA
3        C          5         NA          6
您需要的是“宽”格式。R中有许多包和方法可以执行这种类型或格式设置。孙冰指着
dplyr
方法。我更喜欢
data.table
方法

## loading your data here
library(readr)
x <- read_delim("Category Date Value
A 10/12/2018 1
A 10/14/2018 2
B 10/12/2018 3
B 10/13/2018 4
C 10/12/2018 5
C 10/14/2018 6", delim = " ")

## casting your data to wide format
library(data.table)
xcast <- dcast(x, Category~Date, value.var = "Value")
xcast

添加
库(tidyr)会很有帮助;库(dplyr)
到这个答案的顶部。这很有帮助。对于我的真实场景,我现在使用dplyr中的dcast,使用相同的语法,并使用“fun.aggregate=sum”按日期对数量进行汇总。x_sum_wide
  Category 10/12/2018 10/13/2018 10/14/2018
1 A         1         NA          2
2 B         3          4         NA
3 C         5         NA          6