【问题标题】:I will delete my rows for 58000+ rows.And delete rows if more than 5% of variables are NA [duplicate]我将删除 58000+ 行的行。如果超过 5% 的变量为 NA,则删除行 [重复]
【发布时间】:2020-03-13 18:44:08
【问题描述】:

我的数据框有 58000 多行和 26 列。我将删除超过 58000 行的行。如果超过 5% 的变量为 NA,则删除行。

【问题讨论】:

    标签: r database missing-data delete-row


    【解决方案1】:

    我们可以在使用is.na 创建的逻辑矩阵上使用rowMeans

    df1[rowMeans(is.na(df1)) <= 0.5, , drop = FALSE]
    

    在上面的代码中,is.na(df1)返回一个逻辑矩阵TRUE(NA)和FALSE(非NA),rowMeans,我们计算行中TRUE值的百分比,检查它是否是小于或等于 0.5 以创建逻辑向量并通过将其用作行索引来对行进行子集

    【讨论】:

    • 亲爱的朋友,谢谢你的帮助。但是我有 58000+ 行和 26 列。那么怎么做呢?使用 for 循环呢?
    • @OĞUZHANCALISKAN 这应该适用。那些。情况也是如此。你有没有尝试过?这里的条件是针对整个数据集的
    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 2020-07-28
    • 2017-07-15
    • 2015-10-01
    • 2011-02-05
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多