如何从包含至少一个 NaN 的 R 数据框中删除行?

NA 值和 NaN 值本质上非常不同,因此,删除包含 NA 值的行与删除包含 NaN 值的行不同。例如,如果我们有一个包含 NaN 值的数据框,将使用is.finite以下示例中所示的函数删除行。

考虑以下数据框 -

示例

x1<-sample(c(NaN,rpois(4,5)),20,replace=TRUE)

x2<-sample(c(NaN,rpois(4,5)),20,replace=TRUE)

df1<-data.frame(x1,x2)

df1

输出结果
    x1   x2

1   2    2

2   2    3

3   0    6

4   2    3

5   2    2

6   8    NaN

7   2    3

8   8    NaN

9   2    2

10  NaN  2

11  2    2

12  NaN  6

13  8    6

14  NaN  3

15  NaN  6

16  NaN  NaN

17  8    NaN

18  8    2

19  NaN  3

20  NaN  3

从 df1 中删除包含 NaN 值的行 -

df1[is.finite(df1$x1) & is.finite(df1$x2),]

   x1 x2

1  2  2

2  2  3

3  0  6

4  2  3

5  2  2

7  2  3

9  2  2

11 2  2

13 8  6

18 8  2

示例

y1<-sample(c(NaN,rnorm(2)),20,replace=TRUE)

y2<-sample(c(NaN,rnorm(2)),20,replace=TRUE)

y3<-sample(c(NaN,rnorm(2)),20,replace=TRUE)

df2<-data.frame(y1,y2,y3)

df2

输出结果
   y1             y2           y3

1  NaN          0.3324506    -0.5461648

2  0.3319275   -0.3103766    -0.5461648

3  1.5624962    0.3324506    -0.3322423

4  NaN         -0.3103766    -0.3322423

5  1.5624962    NaN           NaN

6  NaN         -0.3103766    -0.3322423

7  1.5624962    0.3324506     NaN

8  0.3319275   -0.3103766    -0.3322423

9  NaN         -0.3103766    -0.3322423

10 1.5624962    NaN           NaN

11 0.3319275    NaN           NaN

12 1.5624962    0.3324506    -0.3322423

13 1.5624962    NaN           NaN

14 NaN          0.3324506     NaN

15 1.5624962    0.3324506    -0.5461648

16 1.5624962   -0.3103766    -0.3322423

17 NaN          0.3324506    -0.5461648

18 NaN          0.3324506    -0.3322423

19 0.3319275   -0.3103766    -0.5461648

20 0.3319275    NaN          -0.3322423

从 df2 中删除包含 NaN 值的行 -

df2[is.finite(df2$y1) & is.finite(df2$y2) & is.finite(df2$y3),]

      y1         y2          y3

2  0.3319275   -0.3103766   -0.5461648

3  1.5624962    0.3324506   -0.3322423

8  0.3319275   -0.3103766   -0.3322423

12 1.5624962    0.3324506   -0.3322423

15 1.5624962    0.3324506   -0.5461648

16 1.5624962   -0.3103766   -0.3322423

19 0.3319275   -0.3103766   -0.5461648

以上是 如何从包含至少一个 NaN 的 R 数据框中删除行? 的全部内容, 来源链接: utcz.com/z/350517.html

回到顶部