我想在數據框中爲每個組創建一個單獨的圖並在標題中包含該組。每組使用ggplot函數與dplyr併爲每個組設置標題
隨着虹膜數據集,我可以在基礎R和ggplot做到這一點
plots1 <- lapply(split(iris, iris$Species),
function(x)
ggplot(x, aes(x=Petal.Width, y=Petal.Length)) +
geom_point() +
ggtitle(x$Species[1]))
是否有一個相當於使用dplyr?
這是一個嘗試使用facets而不是標題。
p <- ggplot(data=iris, aes(x=Petal.Width, y=Petal.Length)) + geom_point()
plots2 = iris %>% group_by(Species) %>% do(plots = p %+% . + facet_wrap(~Species))
其中我使用%+%將p中的數據集替換爲每個調用的子集。
或ggtitle(工作,但複雜的)
plots3 = iris %>%
group_by(Species) %>%
do(
plots = ggplot(data=.) +
geom_point(aes(x=Petal.Width, y=Petal.Length)) +
ggtitle(. %>% select(Species) %>% mutate(Species=as.character(Species)) %>% head(1) %>% as.character()))
的問題是,我似乎無法設置每個組的冠軍ggtitle在一個非常簡單的辦法。
謝謝!
我更傾向於解決通過自定義功能的這個問題,我使用'種[1]'指定標題。但如果你的實際情節是這麼簡單,這當然有效。 IE - 我的工作流程往往是'plot.cust < - function(...);虹膜%>%group_by(物種)%>%plot.cust(...)' – 2015-03-13 14:47:21
非常簡單的解決方案,沒有發生在我身上!謝謝! – bytesinflight 2015-03-13 14:48:47
@詹姆斯'獨特'可能是昂貴的,不是嗎? – 2015-03-13 15:03:00