这可能是一个愚蠢的问题,答案很简单,但是我的数据看起来像这样:
Person Date value
A 1-Jan-17 12
A 2-Jan-17 13
A 3-Jan-17 65
B 2-Jan-17 34
B 3-Jan-17 76
B 4-Jan-17 98
C 3-Jan-17 34
C 4-Jan-17 45
C 1-Jan-17 10
我想使它看起来像这样:
Date Person A Person B Person C
1-Jan-17 12 0 10
2-Jan-17 13 34 0
3-Jan-17 65 76 34
4-Jan-17 0 98 45
这样我每个人都有一个完整的时间序列。我知道我可能必须为我的完整数据集填充数据。
任何帮助将不胜感激。我已经尝试了很多方法,但是没有得到我想要的东西(waaaaah)
答案 0 :(得分:2)
签出tidyr
和spread
library(tidyr)
df %>% spread(Person,value, fill = 0)
# Date A B C
# 1 1-Jan-17 12 0 10
# 2 2-Jan-17 13 34 0
# 3 3-Jan-17 65 76 34
# 4 4-Jan-17 0 98 45