使用过滤器功能从数据集中删除缺失值的问题

问题描述 投票:0回答:1

我必须删除所有这些变量Loading Dateyear of builtvessel typecargo size中至少一个包含缺失值的观察值。

    anyNA(CW_data$`Loading Date`) #result is FALSE, which means there aren't missing values
    anyNA(CW_data$`Year Built`) #result is TRUE, there are missing values
    anyNA(CW_data$`Vessel Type`)#result is TRUE, there are missing values
    anyNA(CW_data$`Cargo Size`)#result is TRUE, there are missing values

    CW_data_noNA <- filter(CW_data, is.na('Year Built')==FALSE |
                   is.na('Vessel Type'==FALSE)|
                   is.na('Cargo Size')==FALSE |
                     is.na('Loading Date') == FALSE)

我尝试使用上面的代码,但是结果数据集与原始代码相同。有人可以解释我做错了吗?非常感谢,LMC

r dataframe filter dplyr na
1个回答
0
投票

您可以使用filter_at

CW_data_noNA <- filter_at(CW_data, vars('Year Built', 'Vessel Type', 'Cargo Size', 'Loading Date'), 
                            all_vars(!is.na(.)))

如果要使用filter,则可以执行此操作:

CW_data_noNA <- CW_data %>% 
                 filter(!is.na('Year Built'), !is.na('Vessel Type'),
                        !is.na('Cargo Size'), !is.na('Loading Date'))

始终在filter内部使用&合并各种条件。

© www.soinside.com 2019 - 2024. All rights reserved.