在控制台中,继续尝试
> sum(sapply(1:99999, function(x) { x != as.character(x) }))
0
Run Code Online (Sandbox Code Playgroud)
对于通过99999的所有值1, "1" == 1,"2" == 2,...,99999 == "99999"是TRUE.然而,
> 100000 == "100000"
FALSE
Run Code Online (Sandbox Code Playgroud)
为什么R有这种古怪的行为,这是一个错误吗?什么是解决方法,例如,检查原子字符向量中的每个元素是否实际上是数字的?现在我试图检查是否x == as.numeric(x)每个x,但由于上述问题导致某些数据集失败!