【发布时间】:2020-10-04 10:55:56
【问题描述】:
你能帮我看看为什么我的功能不起作用吗?给定这张表,my_df
sexo edad
1 m 23
2 f 34
3 NA 34
4 f NA
5 m 33
我想创建一个函数,删除带有 NA 字段的每一行,以将其用于不同的数据帧。我做了这个功能:
filter_out_nas = function(df){
vars = names(df)
for(var in vars){
print(var)
df = filter(df, !is.na(var))
}
return(df)
}
我希望输出如下所示:
sexo edad
1 m 23
2 f 34
5 m 33
但是,当我尝试在my_df 上使用该功能时,它什么也没做:
library(dplyr)
my_df = filter_out_nas(m_df)
## returs the same table given above, `my_df` does not change.
非常感谢您的宝贵时间
【问题讨论】:
-
你能澄清你的问题吗?您最初提供的数据看起来与您的预期结果完全相同。如果我理解正确,您想从数据框中删除所有具有
NA值的行,并将这些行存储在新的数据框中? -
很抱歉我已经更正了
-
这应该可以
na.omit(df)