Streamgraph - streamgraph_html 返回了 class `list` 的对象而不是 `shiny.tag` 错误

Streamgraph - streamgraph_html returned an object of class `list` instead of a `shiny.tag` error

对于本周的 TidyTuesday 挑战,我正在尝试绘制前 5 个男性名字及其出现频率的流图。为此,我使用以下代码

tuesdata <- tidytuesdayR::tt_load('2022-03-22')
babynames <- tuesdata$babynames

top5_male <- babynames %>%
  filter (sex == "M") %>%
  group_by(name) %>%
  mutate(total = sum(n)) %>%
  select(name, total) %>%
  arrange(desc(total)) %>%
  distinct(name, total) %>%
  head(5)

babynames %>%
  filter(name %in% c("James", "John", "Robert", "Michael", "William")) %>%
  streamgraph("name", "n", "year")

但是,当我 运行 这段代码时,它给出了一个错误提示

Warning message:
In widget_html(name = class(x)[1], package = attr(x, "package"),  :
  streamgraph_html returned an object of class `list` instead of a `shiny.tag`.

我在网上查了一些解决办法。但是,其中 none 解决了这个问题。如果你能帮忙,我会很高兴。提前谢谢你。

你所说的错误只是一个警告。您的代码的问题是您没有过滤传递给 streamgraph 的男性观察数据。修复此问题将显示您想要的流图:

library(dplyr)
library(streamgraph)

babynames <- tidytuesdayR::tt_load('2022-03-22', download_files = "babynames")
babynames <- babynames$babynames

top5_male <- babynames %>%
  filter (sex == "M") %>%
  group_by(name) %>%
  mutate(total = sum(n)) %>%
  select(name, total) %>%
  arrange(desc(total)) %>%
  distinct(name, total) %>%
  head(5)

babynames %>%
  filter(sex == "M", name %in% c("James", "John", "Robert", "Michael", "William")) %>%
  streamgraph("name", "n", "year")
#> Warning in widget_html(name = class(x)[1], package = attr(x, "package"), :
#> streamgraph_html returned an object of class `list` instead of a `shiny.tag`.