У меня есть проблема, когда в начале вектор вектор имеет пучок NA, а затем данные. Однако особенностью моих данных является то, что первые n значений, которые не являются NA, вероятно, ненадежны, поэтому я хотел бы удалить их и заменить их NA.
Например, если у меня есть вектор длиной 20, а не-NA начинаются с позиции индекса 4:
> z
[1] NA NA NA -1.64801942 -0.57209233 0.65137286 0.13324344 -2.28339326
[9] 1.29968050 0.10420776 0.54140323 0.64418164 -1.00949072 -1.16504423 1.33588892 1.63253646
[17] 2.41181291 0.38499825 -0.04869589 0.04798073
Я хотел бы удалить первые 3 значения не-NA, которые, как я считаю, ненадежны, чтобы это сделать:
> z
[1] NA NA NA NA NA NA 0.13324344 -2.28339326
[9] 1.29968050 0.10420776 0.54140323 0.64418164 -1.00949072 -1.16504423 1.33588892 1.63253646
[17] 2.41181291 0.38499825 -0.04869589 0.04798073
Конечно, мне нужно общее решение, и я никогда не знаю, когда начнется первое значение, отличное от NA. Как мне это сделать? IE Как узнать положение индекса первого значения, отличного от NA?
Для полноты мои данные фактически расположены в кадре данных с большим количеством этих векторов в столбцах, и каждый вектор может иметь другую начальную позицию, отличную от NA. Также, как только данные начинаются, могут появляться спорадические NAs вниз, что мешает мне просто подсчитать их число в качестве решения.