У меня проблема в том, что у вектора в начале есть куча 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. Кроме того, после запуска данных могут возникать спорадические NA, что не позволяет мне просто считать их количество в качестве решения.