
Interpolation with values to refer to within short periods
shorvalu.RdPerforms linear interpolation of missing values within short time segments, constrained by the availability of observed values in the same segment. This method ensures that interpolation is based on nearby valid data.
Usage
shorvalu(data, cols = NULL, intervals = 30, units = "mins",
date_col = NULL, cores = NULL, verbose = FALSE)Arguments
- data
A data frame, matrix, or numeric vector. If a vector, simple linear interpolation is applied.
- cols
Column indices or names of numeric variables to interpolate. Must be continuous.
- intervals
Time gap used to define short periods.
- units
Time unit for
intervals: "secs", "mins", "hours", "days", "weeks".- date_col
Time column index or name. If
NULL, automatically detected.- cores
Number of CPU cores for parallel computation (passed to C++).
- verbose
Logical; if
TRUE, prints timing and interpolation counts.
References
1. Example data is from https://smear.avaa.csc.fi/download. It includes particle number concentrations in SMEAR I Varrio forest.
Examples
shorvalu(condextr(obsedele(data[1:250, c(1, 4, 17:19)], cols = 3:5, group = 2),
cols = 3:5, group = 2),
cols = 3:5)
#> date monthyear 3.98 4.47 5.01
#> 1 2019-12-31 16:00:00 January 2020 42.97220 74.778500 24.83750
#> 2 2019-12-31 16:10:00 January 2020 42.97220 74.778500 24.83750
#> 3 2019-12-31 16:20:00 January 2020 42.97220 74.778500 24.83750
#> 4 2019-12-31 16:30:00 January 2020 42.97220 74.778500 24.83750
#> 5 2019-12-31 16:40:00 January 2020 52.11615 6.865100 44.71760
#> 6 2019-12-31 16:50:00 January 2020 61.26010 6.810320 44.36072
#> 7 2019-12-31 17:00:00 January 2020 115.89600 6.755540 44.00384
#> 8 2019-12-31 17:10:00 January 2020 88.57805 6.700760 43.64696
#> 9 2019-12-31 17:20:00 January 2020 61.26010 6.645980 43.29008
#> 10 2019-12-31 17:30:00 January 2020 60.94050 6.591200 42.93320
#> 11 2019-12-31 17:40:00 January 2020 61.00442 9.044067 58.91050
#> 12 2019-12-31 17:50:00 January 2020 61.06834 11.496933 74.88780
#> 13 2019-12-31 18:00:00 January 2020 61.13226 13.949800 90.86510
#> 14 2019-12-31 18:10:00 January 2020 61.19618 85.265200 85.80843
#> 15 2019-12-31 18:20:00 January 2020 61.26010 156.580600 80.75177
#> 16 2019-12-31 18:30:00 January 2020 130.96300 227.896000 75.69510
#> 17 2019-12-31 18:40:00 January 2020 131.60300 207.972000 69.07735
#> 18 2019-12-31 18:50:00 January 2020 132.24300 188.048000 62.45960
#> 19 2019-12-31 19:00:00 January 2020 132.88300 168.124000 55.84185
#> 20 2019-12-31 19:10:00 January 2020 133.52300 148.200000 49.22410
#> 21 2019-12-31 19:20:00 January 2020 61.26010 135.934117 45.15003
#> 22 2019-12-31 19:40:00 January 2020 57.58254 123.668233 41.07597
#> 23 2019-12-31 19:50:00 January 2020 53.90498 111.402350 37.00190
#> 24 2019-12-31 20:00:00 January 2020 50.22742 99.136467 32.92783
#> 25 2019-12-31 20:10:00 January 2020 46.54986 86.870583 28.85377
#> 26 2019-12-31 20:20:00 January 2020 42.87230 74.604700 24.77970
#> 27 2019-12-31 20:30:00 January 2020 42.97220 74.778500 24.83750
#> 28 2019-12-31 20:40:00 January 2020 56.36700 40.999250 35.93335
#> 29 2019-12-31 20:50:00 January 2020 69.76180 7.220000 47.02920
#> 30 2019-12-31 21:00:00 January 2020 83.15660 39.688250 35.49790
#> 31 2019-12-31 21:10:00 January 2020 96.55140 72.156500 23.96660
#> 32 2019-12-31 21:20:00 January 2020 39.79040 75.611000 64.48590
#> 33 2019-12-31 21:30:00 January 2020 96.70000 72.500300 24.08080
#> 34 2019-12-31 21:40:00 January 2020 86.36370 73.668120 24.46868
#> 35 2019-12-31 21:50:00 January 2020 76.02740 74.835940 24.85656
#> 36 2019-12-31 22:00:00 January 2020 65.69110 76.003760 25.24444
#> 37 2019-12-31 22:10:00 January 2020 55.35480 77.171580 25.63232
#> 38 2019-12-31 22:20:00 January 2020 45.01850 78.339400 26.02020
#> 39 2019-12-31 22:30:00 January 2020 61.26010 114.422700 58.60465
#> 40 2019-12-31 22:40:00 January 2020 82.65970 150.506000 91.18910
#> 41 2019-12-31 22:50:00 January 2020 71.95990 150.506000 91.18910
#> 42 2019-12-31 23:00:00 January 2020 61.26010 150.506000 91.18910
#> 43 2019-12-31 23:10:00 January 2020 61.26010 150.506000 91.18910
#> 44 2020-01-01 00:10:00 January 2020 35.99660 76.502400 111.10200
#> 45 2020-01-01 00:20:00 January 2020 35.99660 76.502400 111.10200
#> 46 2020-01-01 00:30:00 January 2020 35.99660 76.502400 111.10200
#> 47 2020-01-01 00:40:00 January 2020 35.99660 76.502400 111.10200
#> 48 2020-01-01 00:50:00 January 2020 44.41777 76.434925 89.65660
#> 49 2020-01-01 01:00:00 January 2020 52.83893 76.367450 68.21120
#> 50 2020-01-01 01:10:00 January 2020 61.26010 76.299975 46.76580
#> 51 2020-01-01 01:20:00 January 2020 94.86840 76.232500 25.32040
#> 52 2020-01-01 01:30:00 January 2020 94.86840 6.607000 43.03640
#> 53 2020-01-01 01:40:00 January 2020 94.86840 6.974900 45.43250
#> 54 2020-01-01 01:50:00 January 2020 94.86840 6.974900 45.43250
#> 55 2020-01-01 03:50:00 January 2020 129.78600 148.343000 49.27180
#> 56 2020-01-01 04:00:00 January 2020 129.78600 148.343000 49.27180
#> 57 2020-01-01 04:10:00 January 2020 129.78600 148.343000 49.27180
#> 58 2020-01-01 04:20:00 January 2020 129.78600 148.343000 49.27180
#> 59 2020-01-01 04:30:00 January 2020 129.78600 148.343000 49.27180
#> 60 2020-01-01 04:40:00 January 2020 129.78600 148.343000 49.27180
#> 61 2020-01-01 04:50:00 January 2020 129.78600 148.343000 49.27180
#> 62 2020-01-01 06:50:00 January 2020 122.52000 13.949800 90.86510
#> 63 2020-01-01 07:00:00 January 2020 122.52000 12.270650 79.92763
#> 64 2020-01-01 07:10:00 January 2020 122.52000 10.591500 68.99015
#> 65 2020-01-01 07:20:00 January 2020 122.52000 8.912350 58.05268
#> 66 2020-01-01 07:30:00 January 2020 82.74610 7.233200 47.11520
#> 67 2020-01-01 07:40:00 January 2020 42.97220 74.778500 24.83750
#> 68 2020-01-01 07:50:00 January 2020 42.97220 74.778500 24.83750
#> 69 2020-01-01 08:00:00 January 2020 42.97220 74.778500 24.83750
#> 70 2020-01-01 08:10:00 January 2020 42.97220 74.778500 24.83750
#> 71 2020-01-01 10:20:00 January 2020 45.01850 78.339400 26.02020
#> 72 2020-01-01 10:30:00 January 2020 45.01850 78.339400 26.02020
#> 73 2020-01-01 10:40:00 January 2020 45.01850 78.339400 26.02020
#> 74 2020-01-01 10:50:00 January 2020 45.01850 78.339400 26.02020
#> 75 2020-01-01 11:00:00 January 2020 44.64583 77.690900 25.80480
#> 76 2020-01-01 11:10:00 January 2020 44.27316 77.042400 25.58940
#> 77 2020-01-01 11:20:00 January 2020 43.90049 76.393900 25.37400
#> 78 2020-01-01 11:40:00 January 2020 43.52781 75.745400 25.15860
#> 79 2020-01-01 11:50:00 January 2020 43.15514 75.096900 24.94320
#> 80 2020-01-01 12:00:00 January 2020 42.78247 74.448400 24.72780
#> 81 2020-01-01 12:10:00 January 2020 42.40980 73.799900 24.51240
#> 82 2020-01-01 12:20:00 January 2020 45.01850 78.339400 26.02020
#> 83 2020-01-01 12:30:00 January 2020 45.01850 42.618300 35.47345
#> 84 2020-01-01 12:40:00 January 2020 45.01850 6.897200 44.92670
#> 85 2020-01-01 12:50:00 January 2020 45.01850 6.897200 44.92670
#> 86 2020-01-01 13:50:00 January 2020 60.92270 6.960000 45.33530
#> 87 2020-01-01 14:00:00 January 2020 60.92270 6.960000 45.33530
#> 88 2020-01-01 14:10:00 January 2020 60.92270 6.960000 45.33530
#> 89 2020-01-01 14:20:00 January 2020 60.92270 6.960000 45.33530
#> 90 2020-01-01 14:30:00 January 2020 60.92270 7.096600 46.22525
#> 91 2020-01-01 14:40:00 January 2020 60.92270 7.233200 47.11520
#> 92 2020-01-01 14:50:00 January 2020 60.92270 7.233200 47.11520
#> 93 2020-01-01 15:50:00 January 2020 57.14490 9.377600 47.85260
#> 94 2020-01-01 16:00:00 January 2020 57.14490 9.377600 47.85260
#> 95 2020-01-01 16:10:00 January 2020 57.14490 9.377600 47.85260
#> 96 2020-01-01 16:20:00 January 2020 54.42960 9.377600 47.85260
#> 97 2020-01-01 16:30:00 January 2020 51.71430 30.282167 39.21783
#> 98 2020-01-01 16:40:00 January 2020 48.99900 51.186733 30.58307
#> 99 2020-01-01 16:50:00 January 2020 46.28370 72.091300 21.94830
#> 100 2020-01-01 17:00:00 January 2020 45.00397 73.284967 37.60397
#> 101 2020-01-01 17:10:00 January 2020 43.72423 74.478633 53.25963
#> 102 2020-01-01 17:20:00 January 2020 42.44450 75.672300 68.91530
#> 103 2020-01-01 17:30:00 January 2020 42.44450 75.672300 68.91530
#> 104 2020-01-01 17:40:00 January 2020 42.44450 75.672300 68.91530
#> 105 2020-01-01 17:50:00 January 2020 42.44450 75.672300 68.91530
#> 106 2020-01-01 19:30:00 January 2020 96.12420 69.858100 21.26840
#> 107 2020-01-01 19:40:00 January 2020 96.12420 69.858100 21.26840
#> 108 2020-01-01 19:50:00 January 2020 96.12420 69.858100 21.26840
#> 109 2020-01-01 20:00:00 January 2020 96.12420 69.858100 21.26840
#> 110 2020-01-01 20:10:00 January 2020 90.55573 57.763900 26.59490
#> 111 2020-01-01 20:20:00 January 2020 84.98726 45.669700 31.92140
#> 112 2020-01-01 20:30:00 January 2020 79.41879 33.575500 37.24790
#> 113 2020-01-01 20:40:00 January 2020 73.85031 21.481300 42.57440
#> 114 2020-01-01 20:50:00 January 2020 68.28184 9.387100 47.90090
#> 115 2020-01-01 21:00:00 January 2020 62.71337 9.387100 47.90090
#> 116 2020-01-01 21:10:00 January 2020 57.14490 9.387100 47.90090
#> 117 2020-01-01 21:20:00 January 2020 57.14490 9.387100 47.90090
#> 118 2020-01-02 00:20:00 January 2020 46.28370 72.091300 21.94830
#> 119 2020-01-02 00:30:00 January 2020 46.28370 72.091300 21.94830
#> 120 2020-01-02 00:40:00 January 2020 46.28370 72.091300 21.94830
#> 121 2020-01-02 00:50:00 January 2020 46.28370 72.091300 21.94830
#> 122 2020-01-02 01:00:00 January 2020 49.86770 77.673800 23.64790
#> 123 2020-01-02 01:10:00 January 2020 52.85370 77.143243 23.48637
#> 124 2020-01-02 01:20:00 January 2020 55.83970 76.612686 23.32484
#> 125 2020-01-02 01:30:00 January 2020 58.82570 76.082129 23.16331
#> 126 2020-01-02 01:50:00 January 2020 55.99010 75.551571 23.00179
#> 127 2020-01-02 02:00:00 January 2020 53.15450 75.021014 22.84026
#> 128 2020-01-02 02:10:00 January 2020 50.31890 74.490457 22.67873
#> 129 2020-01-02 02:20:00 January 2020 47.48330 73.959900 22.51720
#> 130 2020-01-02 02:30:00 January 2020 94.93160 147.865000 45.01770
#> 131 2020-01-02 02:40:00 January 2020 47.47220 73.942600 22.51190
#> 132 2020-01-02 02:50:00 January 2020 45.61293 9.444500 48.19400
#> 133 2020-01-02 03:00:00 January 2020 43.75365 9.151900 46.70100
#> 134 2020-01-02 03:10:00 January 2020 41.89437 9.496800 48.46080
#> 135 2020-01-02 03:20:00 January 2020 40.03510 81.849500 118.44400
#> 136 2020-01-02 03:30:00 January 2020 41.41557 9.247000 47.18600
#> 137 2020-01-02 03:40:00 January 2020 42.79603 9.180200 46.84500
#> 138 2020-01-02 03:50:00 January 2020 44.17650 77.819500 66.92760
#> 139 2020-01-02 04:00:00 January 2020 47.67850 74.263900 22.60970
#> 140 2020-01-02 04:10:00 January 2020 67.97890 114.612450 76.77785
#> 141 2020-01-02 04:20:00 January 2020 88.27930 154.961000 130.94600
#> 142 2020-01-02 04:30:00 January 2020 88.47170 152.891000 118.94600
#> 143 2020-01-02 04:40:00 January 2020 140.84200 86.156800 248.78800
#> 144 2020-01-02 04:50:00 January 2020 58.27360 24.168100 123.32600
#> 145 2020-01-02 05:00:00 January 2020 55.63830 103.185000 99.75740
#> 146 2020-01-02 05:10:00 January 2020 116.02315 14.930600 76.18880
#> 147 2020-01-02 05:20:00 January 2020 176.40800 236.251000 197.45700
#> 148 2020-01-02 05:30:00 January 2020 93.72030 78.109700 102.03200
#> 149 2020-01-02 05:40:00 January 2020 67.54790 25.058300 127.86900
#> 150 2020-01-02 05:50:00 January 2020 41.37550 80.541300 101.75100
#> 151 2020-01-02 06:00:00 January 2020 66.48700 35.436700 180.82800
#> 152 2020-01-02 06:10:00 January 2020 91.59850 14.271000 72.82300
#> 153 2020-01-02 06:20:00 January 2020 116.71000 28.604300 145.96400
#> 154 2020-01-02 06:30:00 January 2020 149.42400 43.755300 223.27700
#> 155 2020-01-02 06:40:00 January 2020 182.13800 227.233000 97.73610
#> 156 2020-01-02 06:50:00 January 2020 125.57300 163.887000 264.90400
#> 157 2020-01-02 07:00:00 January 2020 79.26160 93.980800 308.64800
#> 158 2020-01-02 07:10:00 January 2020 40.75830 81.040300 108.91000
#> 159 2020-01-02 07:20:00 January 2020 33.26810 88.389100 202.39100
#> 160 2020-01-02 07:30:00 January 2020 35.05625 61.986200 150.54267
#> 161 2020-01-02 07:40:00 January 2020 36.84440 35.583300 98.69433
#> 162 2020-01-02 07:50:00 January 2020 38.63255 9.180400 46.84600
#> 163 2020-01-02 08:00:00 January 2020 40.42070 31.912067 53.23150
#> 164 2020-01-02 08:10:00 January 2020 42.20885 54.643733 59.61700
#> 165 2020-01-02 08:20:00 January 2020 43.99700 77.375400 66.00250
#> 166 2020-01-02 08:30:00 January 2020 45.65226 9.016600 46.01050
#> 167 2020-01-02 08:40:00 January 2020 47.30751 11.573750 59.05922
#> 168 2020-01-02 08:50:00 January 2020 48.96277 14.130900 72.10795
#> 169 2020-01-02 09:00:00 January 2020 50.61803 16.688050 85.15668
#> 170 2020-01-02 09:10:00 January 2020 52.27329 19.245200 98.20540
#> 171 2020-01-02 09:20:00 January 2020 53.92854 30.162020 83.05980
#> 172 2020-01-02 09:30:00 January 2020 55.58380 41.078840 67.91420
#> 173 2020-01-02 09:40:00 January 2020 57.39115 51.995660 52.76860
#> 174 2020-01-02 09:50:00 January 2020 59.19850 62.912480 37.62300
#> 175 2020-01-02 10:00:00 January 2020 47.39950 73.829300 22.47740
#> 176 2020-01-02 10:10:00 January 2020 47.39950 73.829300 22.47740
#> 177 2020-01-02 10:20:00 January 2020 47.39950 73.829300 22.47740
#> 178 2020-01-02 10:30:00 January 2020 47.39950 73.829300 22.47740