R語言中如何刪除含有空值的行、列
阿新 • • 發佈:2022-06-01
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行不為空的列