试图让 spread() 函数与键列中的重复项一起工作 - 是的,这已经被覆盖过,但我似乎无法让它工作,我花了一天的大部分时间在它上面(有点R 的新手)。
我有两列数据。第一列“下雪日”代表冬季的第一天,“深度”列中对应的积雪深度。这是几年的数据(约 62 年)。因此,下雪天列应该有六十二年的第一、第二、第三等天——这会在下雪天产生重复:
snowday row depth
1 1 0
1 2 0
1 3 0
1 4 0
1 5 0
1 6 0
...
75 4633 24
75 4634 4
75 4635 6
75 4636 20
75 4637 29
75 4638 1
我添加了一个“行”列以使数据框更加瞬态(我隐约理解为 1:4638 行是每年 75 天在约 62 年中进行的总测量值。现在我想传播它宽的:
wide <- spread(seasondata, key = snowday, value = depth, fill = 0)
我全为零:
row 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0
我希望它看起来像这样(列由“下雪天”定义,行值是在不同年份记录的特定日期的各种深度 - 例如第 1 天到第 11 天:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 4 0 0 1 0 2 8 9 19 0 3
0 8 0 0 0 4 0 6 6 0 1 0 2 0
3 5 0 0 0 2 0 1 0 2 7 0 12 4
我想我在这里基本上遗漏了一些东西——我尝试过通过 drop=TRUE 或 convert = TRUE 工作,输出值要么全为零,要么全是 NA,这取决于我如何修补。此外,data.frame(seasondata) 中的所有值都是整数。有什么想法吗?