【问题标题】:How do I handle a NA value in effect function?如何处理效果函数中的 NA 值?
【发布时间】:2020-11-12 01:40:18
【问题描述】:

我有一个数据集,其中有一个异常值,我为其分配了一个“NA”。因此,或者看起来, effect() 不起作用。

> eff.bs3 <- effect("SHADE", model.bspyield3)
> eff.bs3$fit[2]/eff.bs3$fit[1]*100
[1] NA

我该如何解决这个问题?像 na.rm=TRUE 这样的东西不起作用。

感谢您的帮助!

【问题讨论】:

  • 使用na.rm = TRUE?
  • 您的意思是effects 还是某个包中的函数?
  • 您可以对数据进行子集化以排除异常值,然后运行脚本。或尝试类似 na.action=na.exclude.

标签: r na effect


【解决方案1】:

我会首先排除数据:

这是来自dplyrdrop_na() 函数

library(tidyverse)
eff.bs3 <- effect("SHADE", drop_na(model.bspyield3)) 
  • 请注意,我将数据框 model.bspyield3 放入 drop_na 函数中

您还可以使用以下方法创建新的 df 以进行进一步分析:

clean.model.bspyield3 = drop_na(model.bspyield3)

【讨论】:

    【解决方案2】:

    感谢您的回答。事实证明,“NA”结果不是由于一行的 NA 值,因为我删除了该行仍然得到“NA”。 “按下”这个因素似乎有些问题,因为当我使用它时

    lm(产量〜压+现场阴影施肥*灌溉)

    效果很好,但是我想服用

    lm(产量 ~ press+samppos+siteSHADE施肥*灌溉)

    然后我再次得到“NA”。 “新闻”是一个有两个级别(是/否)的因素......可能是什么问题?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多