如何在 r 中使用complete.cases(带有示例)


您可以使用 R 中的complete.cases()函数来删除向量、矩阵或数据框中的缺失值。

该函数使用以下基本语法:

 #remove missing values from vector
x <- x[complete. boxes (x)]

#remove rows with missing values in any column of data frame
df <- df[complete. boxes (df), ]

#remove rows with NA in specific columns of data frame
df <- df[complete. cases (df[, c(' col1 ', ' col2 ', ...)]), ] 

以下示例展示了如何在实践中使用此功能。

示例1:从向量中删除缺失值

以下代码展示了如何从向量中删除所有 NA 值:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#remove NA values from vector
x <- x[complete. boxes (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

#remove rows with NA value in any column data frame
df <- df[complete. boxes (df), ]

#view data frame 
df

   X Y Z
2 24 3 7
4 6 8 15
6 9 12 14

示例 3:删除数据框特定列中带有 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

#remove rows with NA value in y or z column
df <- df[complete. cases (df[, c(' y ', ' z ')]), ]

#view data frame 
df

   X Y Z
2 24 3 7
3 NA 4 5
4 6 8 15
6 9 12 14

其他资源

如何在 R 中使用“Is Not NA”
如何在R中全部估算缺失值
如何在 R 中用字符串替换 NA

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注