从 R 中的向量中删除 NA 值
在本文中,我们将讨论如何从向量中删除 NA 值。
方法一:使用 is.na()
我们可以使用 is.na() 从向量中删除那些 NA 值。 is.na() 用于根据向量索引获取 na 值。 !is.na() 将获得除 na 之外的值。
句法:
vector[!is.na(vector)]
其中向量是输入向量
示例:使用上述方法删除 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)
输出:
[1] 1 2 NA 4 5 NA 4 5 6 NA
[1] 1 2 4 5 4 5 6
方法 2:使用 na.rm
我们还可以通过计算总和、均值、方差来删除 na 个值。
句法:
sum(vector, na.rm = TRUE)
在哪里
- na.rm 用于删除 na
- 如果 na.rm=TRUE 它不会考虑 na
- 如果 na.rm=FALSE 它会考虑 na
句法:
mean(vector, na.rm = TRUE)
句法:
var(vector, na.rm = TRUE)
示例:使用 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.omit(vector)
其中向量是输入向量
返回类型:
- 返回非 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"