R中的枢轴表分析和基于子集数据的绘图

时间:2017-02-14 20:00:46

标签: r pivot-table

lake                     date            P          N           C
East Long Lake       9/5/1994          21.9      254.8
East Long Lake       9/5/1994          30.1     1190.0       257.0
East Long Lake       9/5/1994          20.5      256.6
East Long Lake       9/5/1994          22.1      249.0
East Long Lake       9/5/1994         212.5     2011.6      1090.6
Central Long Lake   6/30/1995          22.9       91.1
Central Long Lake   6/30/1995     
Peter Lake           7/6/1994         41.9        527.2        29.6
Peter Lake           7/6/1994         138.8      1994.0      1409.6
Sparkling lake      7/13/1994          19.1       746.7        22.6 
Sparkling Lake      7/13/1994         19.2        21.3

我想以几种方式分析数据(就像excel中的数据透视表一样)

  1. 对于每个日期(日),我有多个值。我需要为每个湖分别按日期计算P,N,C的平均值(仅限单日,因为我仍然需要每日数据)。

  2. 有一点需要注意的是,我的缺失值不是零。因此平均值不应受那些缺失值的影响。 3)然后在湖边绘图。因此,多个图表的日期将在x轴上,而(P,N,C)在Y轴上,

  3. 我通过数据透视表在excel中进行了分析,结果看起来像那样。但使用excel是单调乏味的。所以我在寻找它在R.

    lake                     date            P          N           C
    East Long Lake       9/5/1994          61.42       792.4        673.8
    Central Long Lake   6/30/1995          22.9        91.1
    Peter Lake           7/6/1994          90.35      1260.6        719.6
    Sparkling Lake      7/13/1994          19.15       384           22.6
    

1 个答案:

答案 0 :(得分:1)

使用dplyr并假设mydf是您的数据,我们可以这样做:

library(dplyr)
mydf %>% 
    group_by(lake, date) %>% 
    summarise_all(mean, na.rm = T)