[英]Plotting two grouped variables side to side in R using ggplot
我有一個名為mydata
的數據mydata
。 以下是相關列的示例:
Backlog.Item.Type Item.Created.To.Closed.Days Item.Created.To.Finished.Days
User Story 67 84
Task 14 17
Task 9 10
Epic 105 NA
User Story 56 59
Bug 5 NA
現在,我要做到的是以下內容:我想借此為平均Item.Created.To.Closed.Days
柱以及作為Item.Created.To.Finished.Days
列,按分組Backlog.Item.Type
,然后將它們彼此相鄰繪制。 要計算我使用的平均值,該方法有效:
mydata %>%
group_by(Backlog.Item.Type) %>%
summarise_at(vars(Item.Created.to.Closed.Days),
funs(mean(Item.Created.to.Closed.Days, na.rm = TRUE)))
對於繪圖部分,我嘗試了類似的方法
mydata.long <- melt(mydata)
ggplot(mydata.long,
aes(Backlog.Item.Type, value, fill = variable)) +
geom_bar(stat = "identity", position = "dodge")
但是我似乎無法使其正常工作。 我還要注意,我只想為兩列都繪制Backlog.Item.Type == 'User Story'
和Backlog.Item.Type == 'Task'
。 用視覺表示,這就是我要完成的工作:
請原諒我可怕的繪畫技巧! 我對顏色沒有任何偏愛,我只需要完成它即可:D預先感謝,我希望我已經足夠清楚,並以可以理解的方式提出了我的問題!
假設您提供的圖形包括整個數據集,因此不應該與您提供的樣本數據相對應,那么您可以執行以下操作:
mydata=mydata %>% group_by(Backlog.Item.Type) %>% summarise(Item.Created.To.Closed.Days=
mean(Item.Created.To.Closed.Days,na.rm=T),
Item.Created.To.Finished=mean(Item.Created.To.Finished,na.rm=T))
mydata=mydata[complete.cases(mydata),]%>%melt()
ggplot(mydata,aes(x=Backlog.Item.Type,y=value,fill=variable))+geom_bar(stat = "identity", position = "dodge")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.