R语言 移除R数据框架一列中带有NA的行

R语言 移除R数据框架一列中带有NA的行

在R编程语言中,DataFrame的列可以有以 NA 表示的空值 。 在这篇文章中,我们将看到如何删除一列中带有NA的行。我们将看到各种方法来删除有NA值的行。

使用中的数据

移除R数据框架一列中带有NA的行

方法

  • 创建一个数据框架
  • 选择要删除的行所依据的列
  • 遍历该列,寻找NA值
  • 选择行
  • 使用一个特定的方法删除这些行

方法1:使用 drop_na()

drop_na() 删除数值等于NA的记录。为了使用这种方法,我们需要使用 “tidyr “库,可以安装它。

install.packages(“tidyverse”)

语法

drop_na(name_of_the_column)

例子

# Creating dataframe
student=data.frame(name=c("Ram","Geeta","John","Paul",
                          "Cassie","Jim","Dwight")
                   ,maths=c(7,8,NA,9,10,8,9)
                   ,science=c(5,7,6,8,NA,7,8)
                   ,history=c(7,NA,7,7,NA,7,7))
  
print(student)
  
library(tidyr)
student %>% drop_na(maths)

输出

移除R数据框架一列中带有NA的行

方法2:使用is.na()

is.na()函数首先在一列中寻找na值,然后丢弃这些行。

语法

is.na(列的名称)

例子

# Creating dataframe
student=data.frame(name=c("Ram","Geeta","John","Paul",
                          "Cassie","Jim","Dwight")
                   ,maths=c(7,8,NA,9,10,8,9)
                   ,science=c(5,7,6,8,NA,7,8)
                   ,history=c(7,NA,7,7,NA,7,7))
  
print(student)
  
student[!is.na(student$science),]

输出

移除R数据框架一列中带有NA的行

方法3:使用complete.cases()

这个函数的功能与上述两个方法类似

语法

complete.cases(列的名称)

例子

# Creating dataframe
student=data.frame(name=c("Ram","Geeta","John","Paul",
                          "Cassie","Jim","Dwight")
                   ,maths=c(7,8,NA,9,10,8,9)
                   ,science=c(5,7,6,8,NA,7,8)
                   ,history=c(7,NA,7,7,NA,7,7))
  
print(student)
  
student[complete.cases(student$history),]

输出

移除R数据框架一列中带有NA的行

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程