1. 程式人生 > 其它 >R語言中如何刪除含有空值的行、列

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行不為空的列