Module 11

Author

MJ Kemp

Module 11 Assignment

Read in the data using fread

library(data.table)

Attaching package: 'data.table'
The following object is masked from 'package:base':

    %notin%
library(ggplot2)
TEMP = fread("Temperature.csv")

Extract all winter observations

TEMP.Winter = TEMP[Season == "winter"]
head(TEMP.Winter)
          Sample     Date     DateNr dDay1 dDay2 dDay3 Station   Area 31UE_ED50
          <char>    <int>     <char> <int> <int> <int>  <char> <char>     <num>
1: DANT.19900110 19900110    10/1/90     7     9     9    DANT     WZ  681379.6
2: DANT.19900206 19900206     6/2/90    34    36    36    DANT     WZ  681379.6
3: DANT.19901212 19901212   12/12/90   343   345   345    DANT     WZ  681379.6
4: DANT.19910116 19910116  1/16/1991   378   380    15    DANT     WZ  681379.6
5: DANT.19910226 19910226  2/26/1991   419   421    56    DANT     WZ  681379.6
6: DANT.19911219 19911219 12/19/1991   715   717   352    DANT     WZ  681379.6
   31UN_ED50  Year Month Season Salinity Temperature CHLFa
       <num> <int> <int> <char>    <num>       <num> <num>
1:   5920571  1990     1 winter    29.19         4.0  1.30
2:   5920571  1990     2 winter    27.37         6.0    NA
3:   5920571  1990    12 winter    31.50         4.2 60.50
4:   5920571  1991     1 winter    20.83        -0.3  2.30
5:   5920571  1991     2 winter    28.06         3.9  3.52
6:   5920571  1991    12 winter    25.31         3.9  3.50

Extract all winter observations for zone NC

TEMP.NCWinter = TEMP[Season == "winter" & Area == "NC"]
head(TEMP.NCWinter)
          Sample     Date     DateNr dDay1 dDay2 dDay3 Station   Area 31UE_ED50
          <char>    <int>     <char> <int> <int> <int>  <char> <char>     <num>
1: T100.19900103 19900103     3/1/90     0     2     2    T100     NC  587650.2
2: T100.19900205 19900205     5/2/90    33    35    35    T100     NC  587650.2
3: T100.19901218 19901218 12/18/1990   349   351   351    T100     NC  587650.2
4: T100.19910116 19910116  1/16/1991   378   380    15    T100     NC  587650.2
5: T100.19910205 19910205     5/2/91   398   400    35    T100     NC  587650.2
6: T100.19911211 19911211   11/12/91   707   709   344    T100     NC  587650.2
   31UN_ED50  Year Month Season Salinity Temperature CHLFa
       <num> <int> <int> <char>    <num>       <num> <num>
1:   6001110  1990     1 winter    34.82         8.5  0.30
2:   6001110  1990     2 winter       NA          NA    NA
3:   6001110  1990    12 winter    34.80         9.2  0.40
4:   6001110  1991     1 winter    34.86         6.1  0.68
5:   6001110  1991     2 winter    34.53         5.2  0.34
6:   6001110  1991    12 winter    34.79         9.7  0.44

Select only the columns Area, Season and Temperature

TEMP.Area.Season.Temp = TEMP[, .(Area, Season, Temperature)]
head(TEMP.Area.Season.Temp)
     Area Season Temperature
   <char> <char>       <num>
1:     WZ winter         4.0
2:     WZ winter         6.0
3:     WZ spring         7.3
4:     WZ spring         8.2
5:     WZ spring        17.4
6:     WZ summer        18.1

Select Area and Temperature, but only for winter observations

TEMP.WinterArea.Temp = TEMP[Season == "winter", .(Area, Temperature)]
TEMP.WinterArea.Temp
        Area Temperature
      <char>       <num>
   1:     WZ        4.00
   2:     WZ        6.00
   3:     WZ        4.20
   4:     WZ       -0.30
   5:     WZ        3.90
  ---                   
1702:     WZ        4.40
1703:     WZ        4.72
1704:     WZ        3.57
1705:     WZ        1.31
1706:     WZ        5.13

Find the total number of observations in winter

Total.winter = TEMP[, sum( (Season) == "winter")]
Total.winter
[1] 1706

Calculate the mean temperature and mean salinity in winter (use na.rm = TRUE)

MeanWinter.Temp.Salinity = TEMP[Season == "winter", .(m.temp = mean(Temperature, na.rm=TRUE), m.salinity = mean(Salinity, na.rm=TRUE))]
MeanWinter.Temp.Salinity
    m.temp m.salinity
     <num>      <num>
1: 5.57162   29.15756

Find the number of observations per station in winter

TotalWinter.Station = TEMP[, .(.N), by = Station]
TotalWinter.Station
    Station     N
     <char> <int>
 1:    DANT   300
 2:    DREI   293
 3:      G6   278
 4:    GROO   296
 5:    HAMM   295
 6:    HANS   309
 7:    HUIB   296
 8:    LODS   294
 9:    MARS   296
10:     N02   402
11:     N10   665
12:     N20   266
13:     N70   268
14:     R03   161
15:     R50   106
16:     R70   106
17:    SOEL   295
18:    T004   339
19:    T010   261
20:    T100   258
21:    T135   259
22:    T175   258
23:    T235   258
24:    VLIS   421
25:     W02   272
26:     W20   191
27:     W70   190
28:    WISS   296
29:    ZIJP   296
30:    ZUID   303
    Station     N
     <char> <int>

Find the number of observations per station per season

Total.Station.Season = TEMP[, .(.N), by = .(Station, Season)]
Total.Station.Season
     Station Season     N
      <char> <char> <int>
  1:    DANT winter    50
  2:    DANT spring    89
  3:    DANT summer    89
  4:    DANT autumn    72
  5:    DREI winter    52
 ---                     
114:    ZIJP autumn    61
115:    ZUID winter    52
116:    ZUID spring    89
117:    ZUID summer    89
118:    ZUID autumn    73

Estimate average temperatures by month

AvgTemp.Month = TEMP[, .(m.Temp = mean(Temperature, na.rm=TRUE)), by = .(Month)]
AvgTemp.Month
    Month    m.Temp
    <int>     <num>
 1:     1  5.174210
 2:     2  4.737400
 3:     3  6.125961
 4:     4  8.702035
 5:     5 12.293479
 6:     6 15.659933
 7:     7 18.077343
 8:     8 19.388355
 9:     9 16.995974
10:    10 13.619670
11:    11  9.848891
12:    12  6.746339

Estimate average temperatures by month by area

AvgTemp.Month.Area = TEMP[, .(m.Temp=mean(Temperature, na.rm=TRUE)), by = .(Month, Area)]
AvgTemp.Month.Area
     Month   Area    m.Temp
     <int> <char>     <num>
  1:     1     WZ  3.377826
  2:     2     WZ  3.925800
  3:     3     WZ  5.818481
  4:     4     WZ  9.270805
  5:     5     WZ 13.398191
 ---                       
116:     1     NC  6.789808
117:     2     NC  5.682581
118:     3     NC  5.837500
119:    11     NC 10.978269
120:    12     NC  8.716957

Plot the output of the previous question using ggplot2 using the geom_line() geometry

ggplot(AvgTemp.Month.Area, aes(x=Month, y=m.Temp, col=Area)) + geom_line()