我有一个问题,一个矢量在开始时有一堆NAs,之后有数据。然而,我的数据的特点是前n个非NA值可能不可靠,所以我想删除它们并用NA代替它们。找到R向量中第一个非NA值的索引位置?
例如,如果我在索引位置4的长度为20的矢量,和非NAS开始:
> 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起始位置。同样,一旦数据开始,可能会有更多的零星神经网络进一步下降,这使我无法简单地计算它们的数量,作为解决方案。
有没有一种有效的方法来做到这一点,当它找到第一个时会停止搜索? –