【问题标题】:Error in mutate_impl(.data, dots) : Evaluation error: missing values and NaN's not allowed if 'na.rm' is FALSEmutate_impl(.data, dots) 中的错误:评估错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN
【发布时间】:2018-04-24 22:34:34
【问题描述】:

我正在尝试按照此处指定的方式将标签分配给 ggplot2 异常值:

Labeling Outliers of Boxplots in R

为了创建一个新的outlier 列,我使用以下代码:

splitData %>% 
  group_by(Sample.group) %>%
  mutate(outlier=ifelse(is_outlier(value), value, as.numeric(NA)))

我得到了错误:

mutate_impl(.data, dots) 中的错误: 评估错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN。

splitData 看起来像这样:

我猜,错误的as.numeric() 发生在某处;有一个类似的线程:

Error: missing values and NaN's not allowed if 'na.rm' is FALSE

但我无法确定在哪里。任何建议将不胜感激。

【问题讨论】:

标签: r ggplot2 outliers


【解决方案1】:

您不能使用 as.numeric(NA) 将 NA 值转换为数字。如果可以,您应该省略 NA 值或估算它们。缺失值总是令人讨厌,但有时除了删除样本(=在您的情况下为行)之外,别无他法。

【讨论】:

  • 好的,我看到了箱线图(mtcars)的示例,它用于在 ifelse 语句期间将 NA 添加到非因子列(dbl 格式)。但是您是否获取了函数 is_outlier? is_outlier <- function(x) { return(x < quantile(x, 0.25) - 1.5 * IQR(x) | x > quantile(x, 0.75) + 1.5 * IQR(x)) }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
相关资源
最近更新 更多