【发布时间】:2019-09-10 00:24:16
【问题描述】:
我已经传播数据(df)
Timestamp area count type
2019-08-28 00:30:00 area1 4 A
2019-08-28 00:30:01 area1 1 B
2019-08-28 00:30:02 area1 8 C
2019-08-28 00:30:03 area2 8 A
2019-08-28 00:30:04 area2 1 B
2019-08-28 00:30:04 area2 8 C
2019-08-28 00:30:06 area3 18 A
进入
Timestamp area A B C
2019-08-28 00:30:00 area1 4 NA NA
2019-08-28 00:30:01 area1 NA NA 1
2019-08-28 00:30:02 area1 NA 8 NA
2019-08-28 00:30:03 area2 8 NA NA
2019-08-28 00:30:04 area2 NA NA 1
2019-08-28 00:30:04 area2 NA 8 NA
2019-08-28 00:30:06 area3 18 NA NA
使用代码
df %>%
group_by(Timestamp, area) %>%
spread(type, count)
然后,我想将同一区域的相邻行合并,使表格看起来像这样
Timestamp area A B C
<S3: POSIXct> <chr> <dbl><dbl><dbl>
2019-08-28 00:30:00 area1 4 8 1
2019-08-28 00:30:03 area2 8 8 1
2019-08-28 00:30:06 area3 18 ... ...
.
.
我用过代码
df %>%
gather(type, count,-area) %>%
group_by(type) %>%
mutate(Rank = dense_rank(type),
RankOrder = paste0("ord_", row_number())) %>%
spread(type) %>%
spread(RankOrder, Rank) %>%
summarise_all(funs(.[which(!is.na(.))]))
但我得到了错误
eval_tidy(enquo(var), var_env) 中的错误:对象“未找到”。
要强调的一点:
每天都会重复记录数据,即。 area 每天都会重复。因此我们需要按天分组(不是日期时间,我只想提取日期)然后按区域分组我猜?但我不知道该怎么做。
最终目标是绘制type中各个元素之间的相关图。
请告诉我如何做到这一点。非常感谢。
【问题讨论】: