📜  从 R 中的向量中删除 NA 值

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

从 R 中的向量中删除 NA 值

在本文中,我们将讨论如何从向量中删除 NA 值。

方法一:使用 is.na()

我们可以使用 is.na() 从向量中删除那些 NA 值。 is.na() 用于根据向量索引获取 na 值。 !is.na() 将获得除 na 之外的值。

句法:

其中向量是输入向量



示例:使用上述方法删除 NA 值的 R 程序

R
# create a vector
a=c(1,2,NA,4,5,NA,4,5,6,NA)
 
# display a
a
 
# remove NA
a[!is.na(a)]


R
# create a vector
a=c(1,2,NA,4,5,NA,4,5,6,NA)
 
# display a
a
 
# remove NA by computing variance
var(a, na.rm = TRUE)
 
# remove NA by computing sum
sum(a, na.rm = TRUE)
 
# remove NA by computing mean
mean(a, na.rm = TRUE)


R
# create a vector with integers along with NA
a=c(1,2,NA,4,5,NA,4,5,6,NA)
 
# display
print(a)
 
print("_______________________")
 
# remove NA using omit() function
a=na.omit(a)
 
# display vector
print(a)


输出:

方法 2:使用 na.rm

我们还可以通过计算总和、均值、方差来删除 na 个值。

句法:

在哪里

  • na.rm 用于删除 na
  • 如果 na.rm=TRUE 它不会考虑 na
  • 如果 na.rm=FALSE 它会考虑 na

句法:

句法:

示例:使用 sum、var 和 mean 删除 na 的 R 程序

电阻

# create a vector
a=c(1,2,NA,4,5,NA,4,5,6,NA)
 
# display a
a
 
# remove NA by computing variance
var(a, na.rm = TRUE)
 
# remove NA by computing sum
sum(a, na.rm = TRUE)
 
# remove NA by computing mean
mean(a, na.rm = TRUE)

输出:

[1]  1  2 NA  4  5 NA  4  5  6 NA
[1] 3.142857
[1] 27
[1] 3.857143

方法 3:使用 omit() 方法

omit() 方法用于通过生成非 NA 值和省略的 NA 值索引来直接删除 NA 值。

句法:



其中向量是输入向量

返回类型:

  • 返回非 NA 值
  • 返回从向量中删除的 NA 值的索引

注意:索引从 1 开始

示例:考虑向量并删除 NA 值的 R 程序

电阻

# create a vector with integers along with NA
a=c(1,2,NA,4,5,NA,4,5,6,NA)
 
# display
print(a)
 
print("_______________________")
 
# remove NA using omit() function
a=na.omit(a)
 
# display vector
print(a)

输出:

[1]  1  2 NA  4  5 NA  4  5  6 NA
[1] "_______________________"
[1] 1 2 4 5 4 5 6
attr(,"na.action")
[1]  3  6 10
attr(,"class")
[1] "omit"