Updated approach to fill_na_values = TRUE alignment
#150
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to improve processing speed of
align_move()whenfill_na_values = TRUEby partially vectorizing the search for nearest time indexes rather than individually searching for the nearest timestamp for each missing value. Rather than iterate through each missing value in turn, this generates a vector of indexes containing the position of the closest timestamp row for each missing value, then uses this index vector to fill the missing values for the entire attribute/variable vector at once.These changes also prevent unnecessary interpolation at timestamps that already contain recorded values. Previously, timestamps with recorded values would get a second entry in the aligned vector with missing values that would then be interpolated, despite their later being filtered out.
This approach also fixes #146.