如何强制引进新加坡时如何避免警告
我通常更喜欢编码R,所以我不会得到警告,但我不知道如何避免使用as.numeric转换字符向量时发出警告。 
例如:
 x <- as.numeric(c("1", "2", "X")) 
会给我一个警告,因为它通过胁迫引入新加坡。 我希望通过强制手段引入新来的人 – 有没有办法告诉它“是这就是我想要做的事”。 或者我应该忍受这个警告?
或者我应该为这个任务使用不同的function?
 使用suppressWarnings() : 
 suppressWarnings(as.numeric(c("1", "2", "X"))) [1] 1 2 NA 
这抑制了警告。
  suppressWarnings()已经被提及。 另一种方法是手动将有问题的字符转换为NA。 对于你的特定问题, taRifx::destring就是这样做的。 这样,如果你从你的函数中得到一些其他的,意外的警告,它不会被压制。 
 > library(taRifx) > x <- as.numeric(c("1", "2", "X")) Warning message: NAs introduced by coercion > y <- destring(c("1", "2", "X")) > y [1] 1 2 NA > x [1] 1 2 NA 
 一般来说,禁止警告并不是最好的解决办法,因为您可能希望在提供某些意外的input时被警告。 
 下面的解决scheme是在数据types转换期间仅维护NA的包装。 不需要任何包装。 
 as.num = function(x, na.strings = "NA") { stopifnot(is.character(x)) na = x %in% na.strings x[na] = 0 x = as.numeric(x) x[na] = NA_real_ x } as.num(c("1", "2", "X"), na.strings="X") #[1] 1 2 NA