小编Rob*_*ski的帖子

为什么R中有1..99,999 =="1".."99,999",但100,000!="100,000"?

在控制台中,继续尝试

> 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,但由于上述问题导致某些数据集失败!

boolean r coercion

8
推荐指数
1
解决办法
393
查看次数

标签 统计

boolean ×1

coercion ×1

r ×1