我有一个问题,一个向量在开始时有一堆NAs,然后是数据.然而,我的数据的特点是,非NA的前n个值可能不可靠,所以我想删除它们并用NA替换它们.
例如,如果我有一个长度为20的向量,非NAs从索引位置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进一步下降,这使我无法简单地计算它们的数量,作为一种解决方案.