R语言中如何判断数据框列或者行全部为指定值
001、
a <- c(0, 0, 0, 0) b <- c(9, -8, -15, 54) c <- c(8, 2, 8, 9) d <- c(0, 0, 0, 0) dat <- data.frame(a, b, c, d) ## 测试数据框 dat result <- vector() for (i in 1:ncol(dat)) { if (all(dat[,i] == 0)) { ## 判断数据框的哪一列全部为0 result <- c(result, i) } } result
002、应用于行
a <- c(5, 0, 7, 0) b <- c(9, 9, 9, 9) c <- c(9, 9, 9, 9) d <- c(7, 0, 9, 9) dat <- rbind(a, b, c, d) ## 测试数据框 dat result <- vector() for (i in 1:nrow(dat)) { if(all(dat[i,] == 9)) ## 判断那些行全部为9 { result <- c(result, i) } } result