R语言 从向量中删除NA值
在这篇文章中,我们将讨论如何从向量中移除NA值。
方法1:使用is.na()
我们可以通过使用is.na()从向量中删除那些不确定的值。is.na()是用来根据向量索引获得不确定的值。is.na()将得到除na以外的值。
语法
vector[!is.na(vector)]
其中向量为输入向量
示例: 使用上述方法去除NA值的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)]
输出
[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)
例子: R程序通过使用sum、var和mean来去除na
# 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.otmit(vector)
其中向量是输入向量
返回类型
- 返回非NA值
- 返回从向量中删除的NA值的索引
注意: 索引从1开始
例子: R程序考虑一个向量并移除NA值
# 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"