修复删除 R 中的行(删除一列中具有特定负值的行)
Fix remove Rows in R (remove rows with specific negative value in one column)
我有 6 列的数据集。第一列是数据。第 4 列是 "scPM25"。后一列的值为 0、-1、-2 或 NA。
我必须删除值为 -2 的行。应保留带有 0、-1 或 NA 的行!
当我在 R 中尝试各种代码时,我总是得到一个完整的 NA 数据集。我尝试的所有代码都惨遭失败。
一些失败的例子:
所有 return 完整的 NA 集。
sds3 <- sds[sds$scPM25 >= -1.9, ]
sds5 <-过滤器(sds, scPM25 != -2)
sds6 <-过滤器(sds,scPM25!=“-2”)
您可以使用 is.na
并将您的条件与 |
(或)组合成子集,例如:
x <- data.frame(a=1:4, b=c(0,-1,-2,NA))
x[is.na(x$b) | x$b != -2,]
# a b
#1 1 0
#2 2 -1
#4 4 NA
subset(x, is.na(b) | b != -2)
#1 1 0
#2 2 -1
#4 4 NA
#Or as @Cath suggested
subset(x, !b %in% (-2))
# a b
#1 1 0
#2 2 -1
#4 4 NA
举个例子:
data <- c('John Doe','Peter Gynn','Jolie Hope', 'Freddie Mercury', 'Bob Dylan')
col2 <- c(21000, 23400, 26800, 27000, 39000)
col3 <- as.Date(c('2010-11-1','2008-3-25','2007-3-14','2007-3-14','2007-3-14'))
scPM25 <- c(-1, -2, NA, 0, -2)
sds <- data.frame(data, col2, col3, scPM25)
sds2 <- sds[is.na(sds$scPM25) | sds$scPM25 != -2, ]
我有 6 列的数据集。第一列是数据。第 4 列是 "scPM25"。后一列的值为 0、-1、-2 或 NA。
我必须删除值为 -2 的行。应保留带有 0、-1 或 NA 的行!
当我在 R 中尝试各种代码时,我总是得到一个完整的 NA 数据集。我尝试的所有代码都惨遭失败。
一些失败的例子:
所有 return 完整的 NA 集。
sds3 <- sds[sds$scPM25 >= -1.9, ]
sds5 <-过滤器(sds, scPM25 != -2)
sds6 <-过滤器(sds,scPM25!=“-2”)
您可以使用 is.na
并将您的条件与 |
(或)组合成子集,例如:
x <- data.frame(a=1:4, b=c(0,-1,-2,NA))
x[is.na(x$b) | x$b != -2,]
# a b
#1 1 0
#2 2 -1
#4 4 NA
subset(x, is.na(b) | b != -2)
#1 1 0
#2 2 -1
#4 4 NA
#Or as @Cath suggested
subset(x, !b %in% (-2))
# a b
#1 1 0
#2 2 -1
#4 4 NA
举个例子:
data <- c('John Doe','Peter Gynn','Jolie Hope', 'Freddie Mercury', 'Bob Dylan')
col2 <- c(21000, 23400, 26800, 27000, 39000)
col3 <- as.Date(c('2010-11-1','2008-3-25','2007-3-14','2007-3-14','2007-3-14'))
scPM25 <- c(-1, -2, NA, 0, -2)
sds <- data.frame(data, col2, col3, scPM25)
sds2 <- sds[is.na(sds$scPM25) | sds$scPM25 != -2, ]