如何解决什么的 点表示〜replace_na,0
R和编码的新手。
我有一个带有+-1000个观测值和+-100个变量的数据框。我想在选定的列(var1,var2,var5,var6)中将NA值替换为0(零)。
在阅读了有关该主题的其他文章之后,我来到了这段代码,该代码成功替换了NA。
df <- df %>% mutate_at(vars(var1,var2,var5,var6),~replace_na(.,0))
现在,我了解大多数代码,请期待。 (点)在~replace_na(.,0))
什么。 (点)在此功能中到底意味着什么?
解决方法
这个单边公式称为lambda函数。
使用内部变量作为.
或.x
,这是编写简单匿名函数的更快方法。我个人更喜欢.x
,因为.
已经将dplyr
用作管道的左手变量,这可能会引起混乱。
在这种情况下(在mutate_at
内部),~replace_na(.,0))
和~replace_na(.x,0))
与function(x) replace_na(x,0)
相同。
您可以尝试使用相同的结果:
df <- df %>% mutate_at(vars(var1,var2,var5,var6),function(x) replace_na(x,0))
此外,请注意,mutate_at
和dplyr 1.0
一样已被弃用。您可能想将新语法与across
函数一起使用:
df <- df %>% mutate(across(c(var1,~replace_na(.x,0)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。