Bu, how to combine ggplot and dplyr into a function? numaralı telefondan bir takiptir.ggplot ve dplyr kullanarak fonksiyonlardaki pozlamalardan faktör değişkenleri nasıl oluşturulur?
Sorun, dplyr
, ggplot
ve muhtemelen quosures
arasındaki faktör değişkenlerini belirleyen bir işlevi nasıl yazılır? Burada
get_charts1 <- function(data, mygroup, myoutput){
quo_var <- enquo(mygroup)
quo_output <- enquo(myoutput)
df_agg <- data %>%
group_by(!!quo_var) %>%
summarize(mean = mean(!!quo_output, na.rm = TRUE),
count = n()) %>%
ungroup()
ggplot(df_agg, aes_q(x = quote(count), y = quote(mean), color = quo_var, group = quo_var)) +
geom_point() +
geom_line()
}
get_charts1(dataframe,
mygroup = group,
myoutput = value)
çıktısı bir grafik, yani, bir örnek
dataframe <- data_frame(id = c(1,2,3,4,5,6),
group = c(1,1,0,0,3,4),
value = c(200,400,120,300,100,100))
# A tibble: 6 x 3
id group value
<dbl> <dbl> <dbl>
1 1 1 200
2 2 1 400
3 3 0 120
4 4 0 300
5 5 3 100
6 6 4 100
Görüldüğü gibi, gruplama değişken group
burada sayısal olan arzu edilmez.
İdeal olarak, ben on-the-fly faktör değişkenleri tanımlamak istiyorum.
ggplot(df_agg, aes_q(x = quote(count),
y = quote(mean),
color = factor(quo_var),
group = factor(quo_var))) +
geom_point() +
geom_line()
elbette çalışmaz: Bu işlevde böyle bir şey olması vardır.
Soru şudur: Burada ne yapılabilir?
Teşekkürler!
çok tatlı! Teşekkürler! bir şekilde neyin güzel olduğu, bu işlevin 'value' var üzerinde basit işlemlerle çağrılmasının aslında işe yaramasıdır:' get_charts1 (dataframe, mygroup = group, myoutput = log (value)) ' –