[R] Help with steam graph

Tariq Khasiri t@r|qkh@@|r| @end|ng |rom gm@||@com
Sun Oct 2 14:06:02 CEST 2022


Hi, i'm trying to create a steamgraph with the following data by creating a
unit indicator by combing the year and month. But, I'm getting error as :

Error in `group_by()`:
! Must group by variables found in `.data`.
✖ Column `com_num` is not found.
Run `rlang::last_error()` to see where the error occurred.

### Packages needed for the code
devtools::install_github("hrbrmstr/streamgraph")

library(tidyverse)
library(ggplot2)
library(dplyr)
library(steamgraph)

### Code ( The following code can be found on creator's account
https://hrbrmstr.github.io/streamgraph/  )

dat %>%
select(year, month, company, share, com_num) %>%
  tidyr::gather(company, share, -year) %>%
  group_by(year, com_num) %>%
  tally(wt=share) %>%
  ungroup %>%
  streamgraph("com_num", "n", "year") %>%
  sg_axis_x(0.8) %>%
  sg_fill_brewer("PuOr") %>%
  sg_legend(show=TRUE, label="Share: ")


### data is like the following

dput(dat)
structure(list(year = c(2018, 2019, 2019, 2019, 2019, 2019, 2019,
2019, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017,
2017, 2017, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2019, 2019, 2019, 2019, 2019), month = c(12,
1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5), company = c("ABC",
"ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "FGH", "FGH",
"FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH",
"FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH",
"FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH", "FGH"
), share = c(20, 16.5, 15, 15.5, 15.5, 16, 17, 16.5, 61, 55,
53, 53, 54, 53, 58, 54, 50, 47, 55, 50, 52, 51, 51.5, 52, 53,
54, 55, 53, 54, 50, 42, 48, 41, 40, 39, 36.5, 35), com_name = c(1,
1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)), row.names = c(NA,
-37L), spec = structure(list(cols = list(year = structure(list(), class =
c("collector_double",
"collector")), month = structure(list(), class = c("collector_double",
"collector")), company = structure(list(), class = c("collector_character",
"collector")), share = structure(list(), class = c("collector_double",
"collector")), com_name = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), delim = ","), class = "col_spec"), problems = <pointer:
0x7fd732028680>, class = c("spec_tbl_df",
"tbl_df", "tbl", "data.frame"))

	[[alternative HTML version deleted]]



More information about the R-help mailing list