は、この単純な例ここで関数にggplotとdplyrを結合する方法は?
library(dplyr)
library(ggplot2)
dataframe <- data_frame(id = c(1,2,3,4),
group = c('a','b','c','c'),
value = c(200,400,120,300))
# A tibble: 4 x 3
id group value
<dbl> <chr> <dbl>
1 1 a 200
2 2 b 400
3 3 c 120
4 4 c 300
を考えてみましょう私は、データフレームを受け取り、入力としてグループ化変数機能を書きたいです。理想的には、グループ化して集計した後、ggpplot
の図表を印刷したいと考えています。 上記の機能にggplot
を追加し、残念ながら
get_charts2 <- function(data, mygroup){
quo_var <- enquo(mygroup)
df_agg <- data %>%
group_by(!!quo_var) %>%
summarize(mean = mean(value, na.rm = TRUE),
count = n()) %>%
ungroup()
df_agg
}
> get_charts2(dataframe, group)
# A tibble: 3 x 3
group mean count
<chr> <dbl> <int>
1 a 200 1
2 b 400 1
3 c 210 2
私はここで間違っているものを理解しない
get_charts1 <- function(data, mygroup){
quo_var <- enquo(mygroup)
df_agg <- data %>%
group_by(!!quo_var) %>%
summarize(mean = mean(value, na.rm = TRUE),
count = n()) %>%
ungroup()
ggplot(df_agg, aes(x = count, y = mean, color = !!quo_var, group = !!quo_var)) +
geom_point() +
geom_line()
}
> get_charts1(dataframe, group)
Error in !quo_var : invalid argument type
を失敗します。
これは動作します。何か案は? ありがとう!
編集:ここhow to create factor variables from quosures in functions using ggplot and dplyr?
上記のコードをどうすれば修正できますか?ありがとう!! –