如何在 r 中使用 na.omit(带有示例)
您可以使用 R 中的na.omit()函数删除向量、矩阵或数据框中的所有不完整情况。
该函数使用以下基本语法:
#omit NA values from vector x <- na. omitted (x) #omit rows with NA in any column of data frame df <- na. omitted (df) #omit rows with NA in specific column of data frame df <- df[ ! (is. na (df$column)), ]
以下示例展示了如何在实践中使用此功能。
示例1:从向量中省略NA值
下面的代码展示了如何从向量中省略所有 NA 值:
#definevector x <- c(1, 24, NA, 6, NA, 9) #omit NA values from vector x <- na. omitted (x) x [1] 1 24 6 9 attr(,"na.action") [1] 3 5 attr(,"class") [1] “omitted”
输出的第一行显示没有 NA 值的向量,而接下来的两行显示有关 NA 值位置的附加信息。
我们可以使用以下代码简单地返回不带 NA 值的向量:
#definevector x <- c(1, 24, NA, 6, NA, 9) #omit NA values from vector x <- as. numeric (na. omit (x)) x [1] 1 24 6 9
示例 2:省略数据帧任何列中带有 NA 的行
下面的代码展示了如何省略数据框任意列中具有 NA 值的所有行:
#define data frame df <- data. frame (x=c(1, 24, NA, 6, NA, 9), y=c(NA, 3, 4, 8, NA, 12), z=c(NA, 7, 5, 15, 7, 14)) #view data frame df X Y Z 1 1 NA NA 2 24 3 7 3 NA 4 5 4 6 8 15 5 NA NA 7 6 9 12 14 #omit rows with NA value in any column data frame df <- na. omitted (df) #view data frame df X Y Z 2 24 3 7 4 6 8 15 6 9 12 14
示例 3:省略数据帧特定列中带有 NA 的行
要省略数据框特定列中具有 NA 值的行,实际上使用is.na()函数更容易,如下所示:
#define data frame df <- data. frame (x=c(1, 24, NA, 6, NA, 9), y=c(NA, 3, 4, 8, NA, 12), z=c(NA, 7, 5, 15, 7, 14)) #view data frame df X Y Z 1 1 NA NA 2 24 3 7 3 NA 4 5 4 6 8 15 5 NA NA 7 6 9 12 14 #remove rows with NA value in x column df <- df[ ! (is. na (df$x)), ] #view data frame df X Y Z 1 1 NA NA 2 24 3 7 4 6 8 15 6 9 12 14
其他资源
如何在 R 中使用“Is Not NA”
如何在 R 中使用 is.null
如何在R中全部估算缺失值
如何在 R 中用字符串替换 NA