R语言中如何删除含有空值的行、列

 

001、删除含有空值的行

a <- c(3, NA, 4, 7, NA, 8)
b <- c(1:2, NA, 3:5)
c <- c(NA, "a", "k", "b", "c", "d")

dat <- data.frame(a, b, c)
dat
na.omit(dat)                            ## 删除所有有空值的行
dat[complete.cases(dat),]               ## 删除所有有空值的行

 

 

002、

a <- c(3, NA, 4, 7, NA, 8)
b <- c(1:2, NA, 3:5)
c <- c(NA, "a", "k", "b", "c", "d")
dat <- data.frame(a, b, c)
dat
dat[!is.na(dat[,1]),]                   ## 提取第一列不为空的数据
dat[complete.cases(dat[,1]),]           ## 提取第一列不为空的数据

 

 

003、

a <- c(3, NA, 4, 7, NA, 8)
b <- c(1:2, NA, 3:5)
c <- c(NA, "a", "k", "b", "c", "d")
dat <- data.frame(a, b, c)
dat
dat[!(is.na(dat[,1]) | is.na(dat[,2])),]        ## 1、2列不为空的数据
dat[complete.cases(dat[,1:2]),]
dat[complete.cases(dat[,2:3]),]                 ## 2、3列不为空的数据

 

 

004、提取不含空值的列

a <- c(3, NA, 4, 7, NA, 8)
b <- c(1:6)
c <- c(NA, "a", "k", "b", "c", "d")
d <- letters[1:6]
dat <- data.frame(a, b, c, d)
dat
dat[,complete.cases(t(dat))]       ## 提取不含空值的列

 

 

005、

a <- c(3, NA, 4, 7, NA, 8)
b <- c(1:6)
c <- c(NA, "a", "k", "b", "c", "d")
d <- letters[1:6]
dat <- data.frame(a, b, c, d)
dat
dat[,complete.cases(t(dat[1,]))]            ## 提取第一行中不为空的列
dat[,complete.cases(t(dat[1:2,]))]          ## 提取1、2行不为空的列

 

posted @   小鲨鱼2018  阅读(13019)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-06-01 c语言 11-8
2021-06-01 c语言 11-7
2021-06-01 c语言中转换字符串函数 atoi函数
2021-06-01 c语言中 strncmp函数, 函数原型和头文件。
2021-06-01 c语言中strcmp函数,函数原型和函数头文件
2021-06-01 c语言中strncat函数,函数原型以头文件
2021-06-01 c语言中strcat函数,函数原型和函数头文件
点击右上角即可分享
微信分享提示