绘制R中分类变量的每周数据

时间:2015-07-26 15:01:15

标签: r plot dataframe time-series

我有三个变量的每周数据

W   Var Units
1   A   10
2   A   3
2   B   19
3   C   8
3   A   54
3   A   6
4   C   2
4   B   13
6   C   22
6   A   31
7   C   17
7   A   43
7   D   4

`我想以这样的方式绘制它,即在y轴上Var(即具有不同颜色的A,B,C)应在x轴上用周数(W)绘制。一周(W)可能包含两个或三个变量。例如,第三周有A和C.所以周是多值函数,单位代表点的大小。到目前为止,我已经使用了

ndf <- data.frame(W= 1:max(as.numeric(as.character(df$W))))
merge_df <- merge(df, ndf, all=TRUE) # to note every week number so that zeors can also be plotted
merge_df[is.na(merge_df)] <- 0 # setting Na's to zero

问题是在这些步骤之后,在Var列中产生了一些NA。如何处理和绘制?

接下来这是一个样本数据,如果我有10周的周数,我想如何将Var绘制为10周的每周时间序列。

1 个答案:

答案 0 :(得分:4)

我不太清楚我理解你的问题,这有帮助吗?

library(dplyr)
library(ggvis)

df %>%
  ggvis(~W, ~Var, fill = ~Var, size = ~Units)  %>%
  layer_points() %>%
  add_legend("size", properties = legend_props(legend = list(y = 100))) %>%
  scale_numeric("x", nice = TRUE)

enter image description here