簡體   English   中英

集合函數R的問題

[英]Problems with aggregate function R

我正在嘗試合並一些數據,但不幸的是,我似乎有些損失...

dataframe <-   Project    Subproject       Value      Date  
                 A           1              9       2017-03-08
                 A           2              5       2017-03-08
                 B           1              1       2017-03-08

overall <- aggregate(dataframe$Valeu, by=list(Date=dataframe$Date, Project=dataframe$Project), FUN=sum)

只會回到我這里:

dataframe <-   Project      Value      Date  
                 A           14       2017-03-08

當我想要的是

dataframe <-   Project    Value      Date  
                 A          14       2017-03-08
                 B           1       2017-03-08

更新:我再次嘗試了建議的解決方案,盡管R告訴我數據框中有一個帶有所述值和日期的項目B,但我的ggplot卻告訴我...

 ggplot(data = dataframe, aes(x = Date, y = Value, fill = Project)) +
  geom_bar(stat = 'identity') + geom_text(data = dataframe, aes(label = Value, fill = Project), size=4)

無論我做什么,它都只會繪制項目A中的數據。 但是,如果我不匯總/匯總數據,它將照常為我繪制兩個項目,但是geom_text仍將繼續為項目A提供兩個數字。 我的總體目標是使數據框按照我的描述進行聚合,這樣我就可以使用geom_text正確標記條形來清晰地繪制聚合數據了。

你可以試試:

df %>%
  group_by(Project, Date)%>%
  summarise(Value = sum(Value))

這使:

  Project       Date Value

1       A 2017-03-08    14
2       B 2017-03-08     1

可以像ggplot(data = df, aes(x = Date, y = Value, fill = Project)) + geom_bar(stat = 'identity')

在此處輸入圖片說明

編輯1:基於OP的注釋,要將輸出保存在數據幀中,請使用magrittr庫中的df %<>% ...代替df %>% ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM