📜  如何在 R 中使用“不是 NA”?

📅  最后修改于: 2022-05-13 01:55:13.428000             🧑  作者: Mango

如何在 R 中使用“不是 NA”?

在本文中,我们将讨论如何在 R 编程语言中使用 Is Not NA。

NA 是一个不是数字的值。 is.na() 方法用于检查给定值是否为 NA,我们必须为此使用该函数。为了使用 is NOT NA,那么我们必须添加“!” is.na()函数的运算符

语法

!is.na(data)

其中,数据可以是向量/列表等

不是向量中的 NA

在这里,我们可以使用此过滤器来获取不包括 NA 值的值。

语法

vector[!is.na(vector)]

其中,vector 是输入向量

示例

R
# create a vector
vector1 = c(1, 2, 3, NA, 34, 56, 78, NA, NA, 34, NA)
  
# display vector
print(vector1)
  
# remove NA values using Not NA function
print(vector1[!is.na(vector1)])


R
# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in marks1 column
print(data[!(is.na(data$marks1)), ])
  
# remove NA values using Not NA 
# function in marks2 column
print(data[!(is.na(data$marks2)), ])


R
# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA function
# in marks1 and marks2 column
print(data[!(is.na(data$marks1)) & !(is.na(data$marks2)), ])


R
# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78),
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in entire dataframe
print(na.omit(data))


输出

[1]  1  2  3 NA 34 56 78 NA NA 34 NA
[1]  1  2  3 34 56 78 34

在单列中的数据框中不是 NA

如果我们想排除数据框列中的 NA 值,那么我们可以像使用向量一样使用数据框。

语法

dataframe[!(is.na(dataframe$column_name)), ]

在哪里

  • 数据框是输入数据框
  • column_name 是要删除 NA 值的列

R

# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in marks1 column
print(data[!(is.na(data$marks1)), ])
  
# remove NA values using Not NA 
# function in marks2 column
print(data[!(is.na(data$marks2)), ])

输出

在多列的数据框中不是 NA

在这里,我们可以使用 &运算符过滤多个列。

dataframe[!(is.na(dataframe$column1)) & !(is.na(dataframe$column2)),]

示例

R

# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78), 
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA function
# in marks1 and marks2 column
print(data[!(is.na(data$marks1)) & !(is.na(data$marks2)), ])

输出

删除所有不适用

在这里,我们将使用 na.omit()函数删除整个数据帧中的 NA

语法

na.omit(dataframe)

示例

R

# create a dataframe
data = data.frame(marks1=c(NA, 34, 56, 78),
                  marks2=c(45, 67, NA, NA))
  
# display
print(data)
  
# remove NA values using Not NA 
# function in entire dataframe
print(na.omit(data))

输出: