我正在参加泰坦尼克号 Kaggle 比赛并得到了简单的问题。如何过滤任何列中的 NA 和空值?我知道如何逐个变量地执行此操作,但想在过滤器语句中放置 2 个条件。到目前为止我得到了这个:
na_count = titanic.full %>%
filter_at(vars(-Survived), any_vars(is.na(.)) || . == "")
Run Code Online (Sandbox Code Playgroud)
所以我真正想要实现的是在条形图上可视化每列中有多少个 NA 或“”(空),这样稍后我就可以输入丢失的数据。
谢谢 :)
要过滤NA并清空所选列中的值,您可以使用filter_at:
library(dplyr)
titanic.full %>% filter_at(vars(-Survived), any_vars(is.na(.) | . == ""))
Run Code Online (Sandbox Code Playgroud)
要计算每列中的值或空值的数量,NA我们可以使用summarise_all
titanic.full %>% summarise_all(~sum(is.na(.) | . == ""))
# PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
#1 0 0 0 0 0 177 0 0 0 0 687 2
Run Code Online (Sandbox Code Playgroud)