Я хочу создать динамические значения ylim в ggplot, чтобы параметр ylim ссылался на значение, которое dplyr предоставляет через трубу. Чтобы проиллюстрировать проблему, см. Рабочий (не общий) код, который я хочу изменить на (не работающий общий) код.Динамический ylim в ggplot2 с использованием трубы dplyr
require(dplyr)
require(scales)
require(ggplot2)
x <- data.frame(name = c("A","B","C"),
value = c(2,4,6))
работает необщего код:
arrange(x[1:2, ], value) %>%
ggplot(data=., aes(x=factor(name), y=value)) +
geom_bar(stat="identity") +
scale_y_continuous(labels=comma,
limits=c(0,max(arrange(x[1:2, ], value)$value) * 1.1))
не работает общий код (вызов не находит значение):
arrange(x[1:2, ], value) %>%
ggplot(data=., aes(x=factor(name), y=value)) +
geom_bar(stat="identity") +
scale_y_continuous(labels=comma,
limits=c(0,max(value) * 1.1))
Таким образом, вопрос, есть ли способ установить пределы, обычно составляющие часть после аранжировки, всегда будут одинаковыми (мне нужно создать много одинаковых графов с разными x, т.е. разными пределами). Спасибо!
Это приятное обходное решение, хотя я еще не думал о каких-либо недостатках. Одна вещь, с которой я все еще сталкиваюсь в этом решении, заключается в том, что в моих таблицах не всегда есть столбец с именем «имя». Это всегда будет что-то другое, например. имя1, имя2 и т. д. – Triamus