【问题标题】:How to solve- Error: (converted from warning)如何解决 - 错误:(从警告转换)
【发布时间】:2022-08-24 02:59:44
【问题描述】:

对于以前运行良好的命令,我第一次收到此错误:

# conversion from char to numeric: 
  as.numeric(df$col) ->  df$col
 
 Error: (converted from warning) NAs introduced by coercion

# running metafor

  rma(yi, vi, data=r1s2) 
  Error: (converted from warning) Studies with NAs omitted from model fitting.

问题必须与 R 环境有关,因为这些命令在另一台计算机上完美运行。我能想到的唯一错误是从 GitHub 安装一个包或几个小时前更新 R。到目前为止,我发现的唯一相关答案也不起作用:

Sys.setenv(R_REMOTES_NO_ERRORS_FROM_WARNINGS=\"true\")

    标签: r


    【解决方案1】:

    这似乎是一个警告级别的问题。如果警告级别为 2,则警告变为错误。来自documentation,我的重点。

    警告:
    整数值设置警告消息的处理。如果警告为负,则忽略所有警告。如果 warn 为零(默认值),则存储警告,直到顶级函数返回。如果发出了 10 个或更少的警告,它们将被打印出来,否则会显示一条消息,说明发出了多少个警告。创建了一个名为 last.warning 的对象,并且可以通过函数警告打印。如果 warn 为 1,则在出现警告时打印警告。如果 warn 为 2(或更大,可强制转换为整数),则所有警告都将变为错误。

    old_ops <- options(warn = 2)
    
    warning("this is a warning")
    #> Error in eval(expr, envir, enclos): (converted from warning) this is a warning
    
    x <- "a"
    as.numeric(x)
    #> Error in eval(expr, envir, enclos): (converted from warning) NAs introduced by coercion
    
    options(old_ops)
    

    reprex package (v2.0.1) 于 2022 年 6 月 25 日创建


    如果你这么说的话

    问题必须与 R 环境有关,因为这些命令在另一台计算机上完美运行。

    然后检查您的 R 启动目录中是否有一个名为 .RData 的文件。如果你有,那么你可能在之前的会话中设置了警告级别,现在每次运行 R 时都会恢复它。删除这个文件,这种行为就会消失。
    另见this SO post

    【讨论】:

    • 谢谢你。我将警告级别更改为 1,错误现在消失了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2021-02-02
    相关资源
    最近更新 更多