满足零比率条件的 R 子集列

R subset columns that meets a condition of zero ratio

我有一个名为 df 的数据集,

这里我想获取零比率 > %50

的列(用它们创建一个新数据集)
df_new <- get columns where zero_ratio> %50

你能支持吗?

谢谢

试试 colMeans :

df_new <- df[, colMeans(df == 0, na.rm = TRUE) > 0.5]

有一个可重现的例子:

df <- data.frame(a = c(1, 2, 0, 1, 3), b = c(0, 0, 1, 0, 1), c = 0)
df_new <- df[, colMeans(df == 0, na.rm = TRUE) > 0.5]
df_new

#  b c
#1 0 0
#2 0 0
#3 1 0
#4 0 0
#5 1 0