相关疑难解决方法(0)

找到R向量中第一个非NA值的索引位置?

我有一个问题,一个向量在开始时有一堆NA,然后是数据.然而,我的数据的特点是前N个非NA的值可能不可靠,所以我想删除它们并用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
Run Code Online (Sandbox Code Playgroud)

我想删除前三个非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
Run Code Online (Sandbox Code Playgroud)

当然,我需要一个通用的解决方案,我永远不知道第一个非NA值何时开始.我该怎么做呢?IE如何找出第一个非NA值的索引位置?

为了完整起见,我的数据实际上被安排在一个数据帧中,其中列中有许多这些矢量,并且每个矢量可以具有不同的非NA起始位置.此外,一旦数据开始,可能会有零星的NA进一步下降,这使我无法简单地计算它们的数量,作为解决方案.

r

42
推荐指数
3
解决办法
5万
查看次数

标签 统计

r ×1