【问题标题】:R - Ignore NAs in whole notebookR - 忽略整个笔记本中的 NA
【发布时间】:2020-08-30 16:07:23
【问题描述】:

有没有办法告诉 R 忽略整个笔记本(或至少一段代码)的 NA,而不在我使用的每个函数中插入 na.rm = TRUE

【问题讨论】:

  • 我希望事情在 7 年内会有所改变......
  • 全局设置具有类似于全局设置任何选项的“风险”:渲染工作不可重现的可能性(例如,在 R-4 之前,可能设置options(stringsAsFactors=FALSE),这很容易破坏许多脚本)。考虑一下,如果您在全局范围内设置了na.rm=TRUE,那么您所做的任何事情都可以在您的控制台上正常工作,并且在没有设置相同选项的其他任何地方都以 technicolor 失败。当然,你可以通过在你的函数/代码/笔记本中设置这个设置来抢占它。
  • 第二个注意事项:虽然我经常使用na.rm=TRUE,但有时我会特别忽略它作为一种断言形式的使用:如果我的代码由于意外NAs 的存在而爆炸,我想知道它,而不是用仓促应用的全局设置来掩盖它。这只是一种观点,当然并不适用于全球(无论是全球“人”还是全球“所有代码”),但对你来说可能是不同的观点。

标签: r


【解决方案1】:

对于数值类型尝试 na.rm(),对于字符数据类型尝试使用 na.omit(),或者为相同的类型编写自己的函数,其中 if class== character or factor then na.omit() else na.rm()。

【讨论】:

    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多