R 关于缺失数据的问题

R 关于缺失数据的问题,r,matrix,na,R,Matrix,Na,在矩阵中,如果有一些丢失的数据记录为'NA' 如何删除矩阵中带有NA的行 我可以使用na.rm 如果要删除包含NA的行,可以使用apply()应用快速函数检查每一行。例如,如果矩阵是x goodIdx <- apply(x, 1, function(r) !any(is.na(r))) newX <- x[goodIdx,] goodIdx我认为na.rm通常只在函数中起作用,比如平均函数。我会选择完整的。案例: 假设您有以下3x3矩阵: x <- matrix(c(1:8

在矩阵中,如果有一些丢失的数据记录为'NA'

  • 如何删除矩阵中带有
    NA
    的行
  • 我可以使用
    na.rm

如果要删除包含NA的行,可以使用apply()应用快速函数检查每一行。例如,如果矩阵是x

goodIdx <- apply(x, 1, function(r) !any(is.na(r)))
newX <- x[goodIdx,]
goodIdx我认为na.rm通常只在函数中起作用,比如平均函数。我会选择完整的。案例:

假设您有以下3x3矩阵:

x <- matrix(c(1:8, NA), 3, 3)

> x
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6   NA
然后对矩阵x的行进行索引,并添加“,”以表示您需要所有列。

na.omit()
将获取矩阵(和数据帧),并仅返回那些没有na值的行-通过删除错误行,需要
完成.cases()
更进一步

> x <- data.frame(c(1,2,3), c(4, NA, 6))
> x
  c.1..2..3. c.4..NA..6.
1          1           4
2          2          NA
3          3           6
> na.omit(x)
  c.1..2..3. c.4..NA..6.
1          1           4
3          3           6
>x
c、 1..2..3。c、 4..NA..6。
1          1           4
2不适用
3          3           6
>na.省略(x)
c、 1..2..3。c、 4..NA..6。
1          1           4
3          3           6
> complete.cases(x)
[1]  TRUE  TRUE FALSE
> x <- data.frame(c(1,2,3), c(4, NA, 6))
> x
  c.1..2..3. c.4..NA..6.
1          1           4
2          2          NA
3          3           6
> na.omit(x)
  c.1..2..3. c.4..NA..6.
1          1           4
3          3           6