在 R 中绘制分类变量的每周数据
Plotting Weekly Data of Categorical Variables in R
我有三个变量的每周数据
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 年的每周时间序列,如何做到这一点。
我不太确定我理解你的问题,这有帮助吗?
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)
我有三个变量的每周数据
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 年的每周时间序列,如何做到这一点。
我不太确定我理解你的问题,这有帮助吗?
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)