3
$\begingroup$

Given

v = {2, 1, Missing[], 5, 7, 4};

I use EventSeries to replace the missing value with its predecessor

EventSeries[v, MissingDataMethod -> {"Interpolation", InterpolationOrder -> 0}]["Values"]

{2, 1, 1, 5, 7, 4}

If the last value is missing

v = {2, 1, 1, 5, 7, Missing[]};

I get again the expected result

{2, 1, 1, 5, 7, 7}

but also the error message

InterpolatingFunction::dmval:Input value {-5} lies outside the range of data in the interpolating function. Extrapolation will be used.

Why is that so?

$\endgroup$
  • 2
    $\begingroup$ It seems reasonable to me that extrapolation must be used in the second case, since your data series proper ends before the missing point. You would only be able to use interpolation for missing values that occur within your data series. However, if your question is about why the input value passed to Interpolation is $-5$, then that is confusing to me as well. $\endgroup$ – MarcoB Nov 6 '15 at 15:13
  • $\begingroup$ Note, that in the case of InterpolationOrder -> 1 the warning will be issued with the "correct" value of {5}. $\endgroup$ – gwr Nov 6 '15 at 17:10
  • 1
    $\begingroup$ The comment by @MarcoB is correct. I'll add that the cryptic error message with a -5 is a known issue, but is harmless. $\endgroup$ – Stefan R Nov 6 '15 at 17:52
  • $\begingroup$ Thanks, Marco and Stefan - so I'll just use Quiet $\endgroup$ – eldo Nov 6 '15 at 17:58
  • $\begingroup$ I'm voting to close this question as off-topic because the issued raised is not really a problem, but a misunderstanding of a warning message by the OP. $\endgroup$ – m_goldberg Feb 22 '16 at 15:39