suppressWarnings()
関数を使用して警告を抑制しようとしています。suppressWarnings()はパイプ演算子では機能しません
驚いたことに、正常に使用すると警告が表示されなくなりますが、パイプ%>%
を使用すると警告が表示されません。ここで
は、いくつかのサンプルコードです:
library(magrittr)
c("1", "2", "ABC") %>% as.numeric()
# [1] 1 2 NA
# Warning message:
# In function_list[[k]](value) : NAs introduced by coercion
c("1", "2", "ABC") %>% as.numeric() %>% suppressWarnings
# [1] 1 2 NA
# Warning message:
# In function_list[[i]](value) : NAs introduced by coercion
suppressWarnings(c("1", "2", "ABC") %>% as.numeric())
# [1] 1 2 NA
なぜそれがパイプ演算子と括弧では動作しませんが? 動作させるために使用する必要がある特定の構文はありますか?
を書くことができます –
あなたが試していることをやり遂げる方法はないと思います。する。 pipe演算子は、先行する呼び出しによって戻されたオブジェクトを受け取り、それを後続の呼び出しに送ります。警告はオブジェクトの一部ではありません。発生時にキャストされ、ある機能から次の機能に渡すことはできません。私は、最も読みやすい解決策は、 'suppressWarnings'を呼び出しのチェーン全体で包むことだと思います。 – Benjamin
私はあなたが 'try'と同じ問題を抱えていると思います(エラーを捕らえるため) – Cath