全て。
選択したものをプロットする必要があります。すべてをプロットできますが、選択したものをプロットする方法がわかりません。
例えば ...
date <- as.Date('2021-01-01') + 0:4
category <- c(rep("A",5), rep("B",5), rep("C",5), rep("D",5), rep("E",5))
product <- c("A1","A2","A3","A4","A5",
"B1","B2","B3","B4","B5",
"C1","C2","C3","C4","C5",
"D1","D2","D3","D4","D5",
"E1","E2","E3","E4","E5")
value <- rnorm(25,10,1)
df <- data.frame(date, category, product, value)
まず、単純な小さなデータセットを作成しました。tsibble オブジェクトを変換します。(私のデータは時系列です。)
df <- tsibble(df, key = c(category, product), index = date)
df_h <- df %>% aggregate_key(category / product, value = sum(value))
関数を使用aggregate_key()
して階層的な時系列を作成します。
df_h %>% autoplot(value) + facet_wrap(~ category, scales = "free_y")
autoplot()
次に、関数プラスを使用してプロットしますfacet_wrap()
結果には 6 つのプロット (集計 + 5 つのカテゴリ) が表示されます。選択したカテゴリ (A から E の間) のみをプロットする必要があります。
皆さんありがとう。
..更新しました
date <- as.Date('2021-01-01') + 0:4
category <- c(rep("A",5), rep("B",5), rep("C",5), rep("D",5), rep("E",5))
product <- c("A1","A2","A3","A4","A5",
"B1","B2","B3","B4","B5",
"C1","C2","C3","C4","C5",
"D1","D2","D3","D4","D5",
"E1","E2","E3","E4","E5")
value <- rnorm(25,10,1)
df <- data.frame(date, category, product, value)
df <- tsibble(df, key = c(category, product), index = date)
df_h <- df %>% aggregate_key(category / product, value = sum(value))
df_h %>%
filter(category == "A" | category == "C" | category == "E") %>%
autoplot(value) + facet_wrap(~ category, scales = "free_y" , ncol = 2)
一時的なものです..filter()
関数を使用して、選択したものをプロットできます。しかし、それは良くありません。それを処理するよりエレガントな方法があると思います。