R 删除除一列外所有列均为空的行
使用以下代码:R 删除除一列外所有列均为空的行,r,R,使用以下代码: data <- rbind(c(1,1,2,3), c(1,1, NA, 4), c(1,4,6,7), c(1,NA, NA, NA), c(1,4, 8, NA)) 数据您可以这样做: filteredData <- data[!is.na(data[,2]) | !is.na(data[,4]),] > data [,1] [,2] [,3] [,4] [1
data <- rbind(c(1,1,2,3),
c(1,1, NA, 4),
c(1,4,6,7),
c(1,NA, NA, NA),
c(1,4, 8, NA))
数据您可以这样做:
filteredData <- data[!is.na(data[,2]) | !is.na(data[,4]),]
> data
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 NA NA NA
[5,] 1 4 8 NA
> filteredData
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 4 8 NA
filteredData数据
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,]1 NA 4
[3,] 1 4 6 7
[4,]1Na-NA-NA
[5,]1 4 8 NA
>过滤数据
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,]1 NA 4
[3,] 1 4 6 7
[4,]1 4 8 NA
您可以这样做:
filteredData <- data[!is.na(data[,2]) | !is.na(data[,4]),]
> data
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 NA NA NA
[5,] 1 4 8 NA
> filteredData
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 4 8 NA
filteredData数据
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,]1 NA 4
[3,] 1 4 6 7
[4,]1Na-NA-NA
[5,]1 4 8 NA
>过滤数据
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,]1 NA 4
[3,] 1 4 6 7
[4,]1 4 8 NA
要删除列2-4中所有值均为NA的行,请执行以下操作:
data[apply(data[,2:4],1,function(x) !all(is.na(x))),]
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 4 8 NA
要仅从检查为NA
的列中排除第一列,可以使用负索引,如:
data[apply(data[,-1],1,function(x) !all(is.na(x))),]
要删除列2-4中所有值均为NA的行,请执行以下操作:
data[apply(data[,2:4],1,function(x) !all(is.na(x))),]
[,1] [,2] [,3] [,4]
[1,] 1 1 2 3
[2,] 1 1 NA 4
[3,] 1 4 6 7
[4,] 1 4 8 NA
要仅从检查为NA
的列中排除第一列,可以使用负索引,如:
data[apply(data[,-1],1,function(x) !all(is.na(x))),]
另一种方式:
data[! rowSums(is.na(data[,2:4])) == 3, ]
如果它只是第2列和第4列,那么它将是:
data[! rowSums(is.na(data[,c(2,4)])) == 2, ]
另一种方式:
data[! rowSums(is.na(data[,2:4])) == 3, ]
如果它只是第2列和第4列,那么它将是:
data[! rowSums(is.na(data[,c(2,4)])) == 2, ]
你能更详细地说明你的情况吗?要排除列2和列4均为NA或至少其中一个为NA或其他内容的行?另外,“2-4”是否表示“2,3,4”列?您能否更好地指定您的条件?要排除列2和列4均为NA或至少其中一个为NA或其他内容的行?此外,“2-4”是否表示“2,3,4”列?@LinaBird:请注意,此代码只考虑第2列和第4列,不包括第3列。正如我在评论中所问的,您应该更好地指定您的情况,因为它并不完全清楚…@LinaBird:请注意,此代码只考虑第2列和第4列,不包括第3列。正如我在评论中所问的,你应该更好地说明你的情况,因为它并不完全清楚。。。