【发布时间】:2021-07-30 14:11:13
【问题描述】:
我正在尝试删除存在超过 90% 的 NA 值的列,我遵循了以下操作,但我只得到一个值作为回报,不确定我可能做错了什么。我期待一个实际的数据框,我尝试将 as.data.frame 放在前面,但这也是错误的。
链接帖子:Delete columns/rows with more than x% missing
示例 DF
gene cell1 cell2 cell3
A 0.4 0.1 NA
B NA NA 0.1
C 0.4 NA 0.5
D NA NA 0.5
E 0.5 NA 0.6
F 0.6 NA NA
所需的 DF
gene cell1 cell3
A 0.4 NA
B NA 0.1
C 0.4 0.5
D NA 0.5
E 0.5 0.6
F 0.6 NA
代码
#Select Genes that have NA values for 90% of a given cell line
df_col <- df[,2:ncol(df)]
df_col <-df_col[, which(colMeans(!is.na(df_col)) > 0.9)]
df <- cbind(df[,1], df_col)
【问题讨论】: