您能帮我看看为什么我的功能不起作用吗?给定此表,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.
非常感谢您的时间
我不清楚您想要什么,所以这里有两件事可能会有所帮助。
First:
对于此处的基本R选项,您可以仅将rowSums
与is.na
结合使用:
您可以用简单的方法来做!
最简单的解决方案应该是na.omit(df)