r - 从某些值不适用的数据框中删除列

标签 r dataframe na

我有一个数据框,其中某些值为NA。我想删除这些列。

我的data.frame看起来像这样

    v1   v2 
1    1   NA 
2    1    1 
3    2    2 
4    1    1 
5    2    2 
6    1   NA

我试图估计col平均值,然后选择列均值!= NA。我尝试过此语句,它不起作用。
data=subset(Itun, select=c(is.na(colMeans(Itun))))

我有一个错误

error : 'x' must be an array of at least two dimensions



谁能给我些帮助吗?

最佳答案

数据:

Itun <- data.frame(v1 = c(1,1,2,1,2,1), v2 = c(NA, 1, 2, 1, 2, NA)) 

这将删除所有至少包含一个NA的列:
Itun[ , colSums(is.na(Itun)) == 0]

另一种方法是使用apply:
Itun[ , apply(Itun, 2, function(x) !any(is.na(x)))]

关于r - 从某些值不适用的数据框中删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454487/

相关文章:

r - 在数据框变量中查找唯一字符串

r - 当 != 时,`case_when()` 通过 NA

r - 将 pmap 列表参数应用于嵌套在另一个函数中的函数

r - 按组计算数据框中出现的连续月份

r - 在 R 中,当每个观测值位于不同变量中时如何对观测值进行计数

r - cbind 列表中的特定列(没有 dplyr 包)

python - 来自类别列中的类标记的多个数据帧的 pairplot 列

python - pandas:按两列分组,然后按第三列的值排序

r - 如何删除仅包含 NA 的列?

r - 当某些部分为空时如何转换日期或日期时间字段; na.omit 失败