【发布时间】:2016-03-17 11:14:42
【问题描述】:
我的问题很像之前的问题 (Remove rows with NAs (missing values) in data.frame)。我想过滤我的矩阵,使所有只有 NA 的列都消失了。我想保留该列,其中包含 NA 和数字的混合。因此,在下面的示例中,我想删除名为 mmul 和 cfam 的列并保留其余列。
gene hsap mmul mmus rnor cfam
1 ENSG00000208234 0 NA NA NA NA
2 ENSG00000199674 0 NA 2 2 NA
3 ENSG00000221622 0 NA NA NA NA
4 ENSG00000207604 0 NA NA 1 NA
5 ENSG00000207431 0 NA NA NA NA
6 ENSG00000221312 0 NA 2 3 NA
我希望我的新矩阵如下所示:
gene hsap mmus rnor
1 ENSG00000208234 0 NA NA
2 ENSG00000199674 0 2 2
3 ENSG00000221622 0 NA NA
4 ENSG00000207604 0 NA 1
5 ENSG00000207431 0 NA NA
6 ENSG00000221312 0 2 3
【问题讨论】:
-
可以试试
df[colSums(is.na(df)) != nrow(df)] -
或类似
df[!!colSums(!is.na(df))] -
或者
df[colSums(!is.na(df)) > 0]... 骗子? -
@docendodiscimus 同样只是没有打高尔夫球。你说得对。忘记找了。
-
@DavidArenburg 我在欺骗中发布了答案。在这里删除..