Search code examples
rmissing-data

Imputing missing values in R (NO2 in different stations)


I want to replace the missing value with the average of past years on the same date.

I think for this it is worth using the dplyr package from R's tidyverse to group the data by month and day. How can I conduct mean imputation on a subset of data?

DATA <- read.csv('DateCaratNO2.csv')
DATA <- as.data.frame(DATA)
DATA$Full.Data <- as.POSIXct(DATA$date, format = "%m/%d/%Y")
DATA$day <- format(DATA$Full.Data, "%d")
DATA$month <- format(DATA$Full.Data, "%m")
DATA$year <- format(DATA$Full.Data, "%Y")
attach(DATA)
library(dplyr)
df <- DATA %>% mutate(day = lubridate::floor_date(Full.Data, "day"),
                      month = lubridate::floor_date(Full.Data, "month")) %>%
  dplyr::group_by(day, month, ID) %>%
  mutate(NO2 = replace_na(NO2, mean(NO2, na.rm=TRUE)))

I need to replace the missing value with the average value for the same day and month for a specific station. Any help is appreciated!

The dput from the data can be found here:

structure(list(ID = c("IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", "IT1940A", 
"IT1940A", "IT1940A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", "IT1938A", 
"IT1938A", "IT1938A"), date = c("2/1/2015", "2/2/2015", "2/3/2015", 
"2/4/2015", "2/5/2015", "2/6/2015", "2/7/2015", "2/8/2015", "2/9/2015", 
"2/10/2015", "2/11/2015", "2/12/2015", "2/13/2015", "2/14/2015", 
"2/15/2015", "2/16/2015", "2/17/2015", "2/18/2015", "2/19/2015", 
"2/20/2015", "2/21/2015", "2/22/2015", "2/23/2015", "2/24/2015", 
"2/25/2015", "2/26/2015", "2/27/2015", "2/28/2015", "2/1/2016", 
"2/2/2016", "2/3/2016", "2/4/2016", "2/5/2016", "2/6/2016", "2/7/2016", 
"2/8/2016", "2/9/2016", "2/10/2016", "2/11/2016", "2/12/2016", 
"2/13/2016", "2/14/2016", "2/15/2016", "2/16/2016", "2/17/2016", 
"2/18/2016", "2/19/2016", "2/20/2016", "2/21/2016", "2/22/2016", 
"2/23/2016", "2/24/2016", "2/25/2016", "2/26/2016", "2/27/2016", 
"2/28/2016", "2/29/2016", "1/1/2017", "1/2/2017", "1/3/2017", 
"1/4/2017", "1/5/2017", "1/6/2017", "1/7/2017", "1/8/2017", "1/9/2017", 
"1/10/2017", "1/11/2017", "1/12/2017", "1/13/2017", "1/14/2017", 
"1/15/2017", "1/16/2017", "1/17/2017", "1/18/2017", "1/19/2017", 
"1/20/2017", "1/21/2017", "1/22/2017", "1/23/2017", "1/24/2017", 
"1/25/2017", "1/26/2017", "1/27/2017", "1/28/2017", "1/29/2017", 
"1/30/2017", "1/31/2017", "2/1/2018", "2/2/2018", "2/3/2018", 
"2/4/2018", "2/5/2018", "2/6/2018", "2/7/2018", "2/8/2018", "2/9/2018", 
"2/10/2018", "2/11/2018", "2/12/2018", "2/13/2018", "2/14/2018", 
"2/15/2018", "2/16/2018", "2/17/2018", "2/18/2018", "2/19/2018", 
"2/20/2018", "2/21/2018", "2/22/2018", "2/23/2018", "2/24/2018", 
"2/25/2018", "2/26/2018", "2/27/2018", "2/28/2018", "1/1/2019", 
"1/2/2019", "1/3/2019", "1/4/2019", "1/5/2019", "1/6/2019", "1/7/2019", 
"1/8/2019", "1/9/2019", "1/10/2019", "1/11/2019", "1/12/2019", 
"1/13/2019", "1/14/2019", "1/15/2019", "1/16/2019", "1/17/2019", 
"1/18/2019", "1/19/2019", "1/20/2019", "1/21/2019", "1/22/2019", 
"1/23/2019", "1/24/2019", "1/25/2019", "1/26/2019", "1/27/2019", 
"1/28/2019", "1/29/2019", "1/30/2019", "1/31/2019", "2/1/2019", 
"2/2/2019", "2/3/2019", "2/4/2019", "2/5/2019", "2/6/2019", "2/7/2019", 
"2/8/2019", "2/9/2019", "2/10/2019", "2/11/2019", "2/12/2019", 
"2/13/2019", "2/14/2019", "2/15/2019", "2/16/2019", "2/17/2019", 
"2/18/2019", "2/19/2019", "2/20/2019", "2/21/2019", "2/22/2019", 
"2/23/2019", "2/24/2019", "2/25/2019", "2/26/2019", "2/27/2019", 
"2/28/2019", "1/1/2020", "1/2/2020", "1/3/2020", "1/4/2020", 
"1/5/2020", "1/6/2020", "1/7/2020", "1/8/2020", "1/9/2020", "1/10/2020", 
"1/11/2020", "1/12/2020", "1/13/2020", "1/14/2020", "1/15/2020", 
"1/16/2020", "1/17/2020", "1/18/2020", "1/19/2020", "1/20/2020", 
"1/21/2020", "1/22/2020", "1/23/2020", "1/24/2020", "1/25/2020", 
"1/26/2020", "1/27/2020", "1/28/2020", "1/29/2020", "1/30/2020", 
"1/31/2020", "2/1/2021", "2/2/2021", "2/3/2021", "2/4/2021", 
"2/5/2021", "2/6/2021", "2/7/2021", "2/8/2021", "2/9/2021", "2/10/2021", 
"2/11/2021", "2/12/2021", "2/13/2021", "2/14/2021", "2/15/2021", 
"2/16/2021", "2/17/2021", "2/18/2021", "2/19/2021", "2/20/2021", 
"2/21/2021", "2/22/2021", "2/23/2021", "2/24/2021", "2/25/2021", 
"2/26/2021", "2/27/2021", "2/28/2021", "2/1/2015", "2/2/2015", 
"2/3/2015", "2/4/2015", "2/5/2015", "2/6/2015", "2/7/2015", "2/8/2015", 
"2/9/2015", "2/10/2015", "2/11/2015", "2/12/2015", "2/13/2015", 
"2/14/2015", "2/15/2015", "2/16/2015", "2/17/2015", "2/18/2015", 
"2/19/2015", "2/20/2015", "2/21/2015", "2/22/2015", "2/23/2015", 
"2/24/2015", "2/25/2015", "2/26/2015", "2/27/2015", "2/28/2015", 
"2/1/2016", "2/2/2016", "2/3/2016", "2/4/2016", "2/5/2016", "2/6/2016", 
"2/7/2016", "2/8/2016", "2/9/2016", "2/10/2016", "2/11/2016", 
"2/12/2016", "2/13/2016", "2/14/2016", "2/15/2016", "2/16/2016", 
"2/17/2016", "2/18/2016", "2/19/2016", "2/20/2016", "2/21/2016", 
"2/22/2016", "2/23/2016", "2/24/2016", "2/25/2016", "2/26/2016", 
"2/27/2016", "2/28/2016", "2/29/2016", "1/1/2017", "1/2/2017", 
"1/3/2017", "1/4/2017", "1/5/2017", "1/6/2017", "1/7/2017", "1/8/2017", 
"1/9/2017", "1/10/2017", "1/11/2017", "1/12/2017", "1/13/2017", 
"1/14/2017", "1/15/2017", "1/16/2017", "1/17/2017", "1/18/2017", 
"1/19/2017", "1/20/2017", "1/21/2017", "1/22/2017", "1/23/2017", 
"1/24/2017", "1/25/2017", "1/26/2017", "1/27/2017", "1/28/2017", 
"1/29/2017", "1/30/2017", "1/31/2017", "2/1/2018", "2/2/2018", 
"2/3/2018", "2/4/2018", "2/5/2018", "2/6/2018", "2/7/2018", "2/8/2018", 
"2/9/2018", "2/10/2018", "2/11/2018", "2/12/2018", "2/13/2018", 
"2/14/2018", "2/15/2018", "2/16/2018", "2/17/2018", "2/18/2018", 
"2/19/2018", "2/20/2018", "2/21/2018", "2/22/2018", "2/23/2018", 
"2/24/2018", "2/25/2018", "2/26/2018", "2/27/2018", "2/28/2018", 
"1/1/2019", "1/2/2019", "1/3/2019", "1/4/2019", "1/5/2019", "1/6/2019", 
"1/7/2019", "1/8/2019", "1/9/2019", "1/10/2019", "1/11/2019", 
"1/12/2019", "1/13/2019", "1/14/2019", "1/15/2019", "1/16/2019", 
"1/17/2019", "1/18/2019", "1/19/2019", "1/20/2019", "1/21/2019", 
"1/22/2019", "1/23/2019", "1/24/2019", "1/25/2019", "1/26/2019", 
"1/27/2019", "1/28/2019", "1/29/2019", "1/30/2019", "1/31/2019", 
"2/1/2019", "2/2/2019", "2/3/2019", "2/4/2019", "2/5/2019", "2/6/2019", 
"2/7/2019", "2/8/2019", "2/9/2019", "2/10/2019", "2/11/2019", 
"2/12/2019", "2/13/2019", "2/14/2019", "2/15/2019", "2/16/2019", 
"2/17/2019", "2/18/2019", "2/19/2019", "2/20/2019", "2/21/2019", 
"2/22/2019", "2/23/2019", "2/24/2019", "2/25/2019", "2/26/2019", 
"2/27/2019", "2/28/2019", "1/1/2020", "1/2/2020", "1/3/2020", 
"1/4/2020", "1/5/2020", "1/6/2020", "1/7/2020", "1/8/2020", "1/9/2020", 
"1/10/2020", "1/11/2020", "1/12/2020", "1/13/2020", "1/14/2020", 
"1/15/2020", "1/16/2020", "1/17/2020", "1/18/2020", "1/19/2020", 
"1/20/2020", "1/21/2020", "1/22/2020", "1/23/2020", "1/24/2020", 
"1/25/2020", "1/26/2020", "1/27/2020", "1/28/2020", "1/29/2020", 
"1/30/2020", "1/31/2020", "2/1/2021", "2/2/2021", "2/3/2021", 
"2/4/2021", "2/5/2021", "2/6/2021", "2/7/2021", "2/8/2021", "2/9/2021", 
"2/10/2021", "2/11/2021", "2/12/2021", "2/13/2021", "2/14/2021", 
"2/15/2021", "2/16/2021", "2/17/2021", "2/18/2021", "2/19/2021", 
"2/20/2021", "2/21/2021", "2/22/2021", "2/23/2021", "2/24/2021", 
"2/25/2021", "2/26/2021", "2/27/2021", "2/28/2021"), NO2 = c(8.494022, 
10.270843, 20.854183, 26.973156, 17.957637, 14.908667, 16.15965, 
11.995295, 8.860629, 10.035246, 20.141964, 22.327379, 21.02741, 
24.465761, 16.538571, 16.556504, 4.783193, 7.59238, 19.161681, 
22.677657, 15.586068, NA, NA, NA, 16.631454, 11.29906, 14.864193, 
16.420849, 14.104021, 18.786681, 16.8078, 5.788044, 4.648989, 
15.276459, 6.557777, 14.57682, 21.385529, 7.954627, 9.436122, 
9.503997, 6.562462, 9.555659, 14.54271, 11.293801, 9.99976, 5.034411, 
6.153122, 3.590124, 3.350876, 15.858318, 11.843004, 3.834344, 
13.858539, 7.778169, 8.614458, 2.18815, 14.864767, 23.718167, 
22.192393, 21.003893, 11.270417, 12.869576, 5.541511, 6.065571, 
8.600884, 15.744785, 17.657224, 19.806599, 21.258571, 20.145979, 
9.321535, 12.00277, 15.655933, 17.461837, 24.439565, 16.996054, 
13.463386, 4.692335, 2.42172, 9.528777, 8.088544, 20.124756, 
17.19798, 17.549501, 17.667262, 10.398431, 20.365667, 26.515232, 
13.012708, 7.710178, 6.731884, 6.873468, 13.216107, 8.248941, 
12.667134, 7.967476, 13.450384, 4.469243, 6.016051, 20.221312, 
9.978077, 8.125063, 6.054654, 17.886531, 16.911314, 14.872607, 
18.379769, 13.280178, 13.173737, 16.163359, 7.180439, 7.067153, 
5.78097, 9.115078, 11.401236, 13.672157, 7.67733, 9.121578, 9.53306, 
9.169626, 10.399597, 9.929665, 13.432182, 21.290884, 11.990955, 
7.629396, 11.871206, 7.8844, 13.096837, 17.530286, 15.16868, 
23.066559, 24.500176, 21.301399, 19.780404, 10.435753, 17.164999, 
10.730105, 10.39671, 21.078079, 10.896736, 12.381213, 17.814773, 
10.77259, 12.325191, 14.441106, 13.372432, 12.20334, 2.267116, 
7.004822, 6.484815, 6.160732, 11.205868, 17.221174, 12.932672, 
15.424868, 13.584568, 9.045232, 9.253143, 4.746712, 5.356391, 
7.956635, 15.78769, 15.203057, 21.611717, 13.938919, 10.338719, 
14.906831, 12.02256, 8.323146, 5.962648, 12.607288, 8.366664, 
11.722606, 13.118021, 13.167657, 23.943211, 15.73205, NA, NA, 
NA, 19.458806, 13.905096, 22.780715, 28.207544, 16.330735, 10.908304, 
13.027756, 18.055168, 18.981838, 14.758766, 22.892374, 15.730101, 
4.159135, 6.782227, 8.725889, 16.589754, 16.98659, 14.466077, 
9.835424, 5.603747, 7.533586, 7.258124, 3.757233, 6.975397, 16.506639, 
22.993903, 22.146121, 32.453523, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, 8.874777, 5.274195, 8.771376, NA, 13.485412, 21.698904, 
27.922464, 16.498973, 28.762024, 23.60364, 24.60113, 27.767211, 
31.555646, 31.960224, 12.792771, 11.874074, 25.523096, 36.005253, 
37.642116, 43.185004, 26.004919, 30.18264, 25.999374, NA, 32.056592, 
37.521471, 38.501752, 43.199343, 47.116269, 39.203263, 45.309426, 
26.376231, 25.090029, 35.950189, 33.532655, 28.406965, 24.936877, 
32.878943, 26.889793, 24.207449, 31.056998, 29.679594, 36.303335, 
28.31691, 35.54293, 18.791613, 17.165094, 31.426778, 26.191531, 
33.661524, NA, 18.94205, 8.852177, 20.852655, 22.10272, 17.050833, 
18.940024, NA, NA, NA, NA, 22.335409, 23.47458, 12.399243, 23.636525, 
NA, 21.434094, 22.799834, 23.083384, 17.963889, 9.915422, 20.821297, 
35.158618, 35.247528, 33.416598, 35.369512, 34.734347, 40.436504, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, 36.207926, 33.685805, 30.957001, 
37.630453, 42.27948, 46.808245, 31.737096, 53.81515, 18.27784, 
33.830545, 50.393628, 42.016389, 36.003148, 36.643481, 47.376107, 
36.050758, 26.756718, 19.165313, 8.837838, 18.859527, 32.150087, 
24.903609, 16.42232, 28.227237, 32.079918, 27.3481, NA, 33.219278, 
33.551203, 35.606984, 38.398312, 45.264114, 41.581028, 24.478762, 
50.790748, 32.137279, 39.643216, 28.691853, 42.126903, 33.707412, 
27.494751, 26.748115, 38.457202, 37.951861, 17.364936, 32.06137, 
26.519822, 41.503974, 46.908624, 30.394106, 47.184144, 35.195138, 
39.95927, 41.872991, 38.210744, 27.324773, 30.350131, 52.469295, 
34.62326, 32.508014, 33.325587, 29.8272, 31.795985, NA, 51.978294, 
38.143252, 29.89106, 42.116386, 36.054773, 32.849115, 18.242602, 
18.520913, 29.982071, 26.920768, 27.383854, 21.16106, 9.234787, 
NA, 36.617475, 12.935865, 18.385505, 25.670893, 26.499172, 23.917398, 
18.786183, 8.155483, 13.224367, 4.103037, 22.595824, 28.268346, 
26.41122, 17.739975, 26.06706, 24.139574, 28.397405, 30.879564, 
24.112995, 10.538676, 9.012384, 14.210404, 24.614131, 33.060392, 
24.914316, 33.322334, 27.921317, 35.113113, 26.507393, 14.22918, 
7.30602, 37.749187, 43.352686, 34.664751, 33.116411, 40.646825, 
32.890795, 30.315907, 37.905017, 43.562624, 40.983335, 28.682102, 
34.585785, 26.711978, 33.635901, 32.167869, 39.401156, 41.840677, 
46.413608, 31.613008, 28.768333, 27.468747, 19.921701, 16.148044, 
23.349917, 19.946367, 22.412272, 27.136632, 17.069591, 21.201786, 
35.533755, 35.117128, 25.738005, 20.21309, 12.068008, 10.685154, 
24.855044, 18.835436, 12.114451, 6.274859, 9.588431, 18.601217, 
27.243322, 27.039121, 28.688985, 27.590541, 15.86111, 28.251711, 
27.363969, 22.524697, 34.540087, 32.924065, 14.335373, 15.010271
)), class = "data.frame", row.names = c(NA, -468L))

Solution

  • I think this does what you want (with tidyverse and lubridate)

    data %>% 
      mutate(
        date = as.POSIXct(date, format = "%m/%d/%Y"),
        day = day(date),
        month = month(date),
        year = year(date)
      ) %>% 
      group_by(day, month, ID) %>% 
      mutate(
        aveNO2 = mean(NO2,na.rm=TRUE)
      ) %>% 
      ungroup() %>% 
      mutate(
        comment = case_when(is.na(NO2) ~ "ave used"),
        NO2 = case_when(is.na(NO2) ~ aveNO2,
                        TRUE ~ NO2)
      )