R - 子集数据帧,其中2列具有值

时间:2017-02-07 02:28:21

标签: r subset

如何对2列具有值的数据框进行子集化?

例如:

A B
1 2
3 
5 6
  8

变为

A B
1 2
5 6

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用na.omit (如果您定位的是NA值)。 请仔细阅读以下R代码段:

> x
   a  b
1  1  2
2  3 NA
3  5  6
4 NA  8
> na.omit(x)
   a b
 1 1 2
 3 5 6

另一种方法是使用complete.cases,如下所示:

> x[complete.cases(x),]
    a b
  1 1 2
  3 5 6

您还可以使用na.exclude,如下所示:

> na.exclude(x)
    a b
  1 1 2
  3 5 6

希望它适合你!

答案 1 :(得分:2)

> subset(df, !is.na(df$A) & !is.na(df$B))
> df[!is.na(df$A) & !is.na(df$B),]
> df[!is.na(rowSums(df)),]
> na.omit(df)

所有等价物