Я смотрю на набор данных с tidytuesday, доступный здесь:
video_games <- readr::read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-07-30/video_games.csv")
Я написал этот код для создания горизонтальной линейчатой диаграммы, ранжированной в порядке убывания.
video_games %>%
top_n(10, metascore) %>%
arrange(desc(metascore)) %>%
plot_ly(x = ~metascore, y = ~fct_reorder(game, metascore),
type = "bar") %>%
layout(xaxis = list(title = "Metascore"),
yaxis = list(title = ""))
Я хочу повторно использовать код с несколькими переменными без копирования и вставки, поэтому я создал функцию с 2 записями для переменных, которые я хочу построить. (Я пропустил раздел макета. Если есть способ автоматически включить график внутри функции, это было бы здорово.)
video_games_ranking_plot <- function(A, B) {
top_n(10, A) %>%
arrange(desc(A)) %>%
plot_ly(x = ~A, y = ~fct_reorder(B, A),
type = "bar")
}
Когда я запускаю функцию
video_games %>%
video_games_ranking_plot(metascore, game)
... Я получаю сообщение об ошибке Error in video_games_ranking_plot(., metascore, game) :
unused argument (game)
Кто-нибудь знает почему?