我试图用[R]做一些非常简单的事情:将data.frame中的值转换为数字,因为我需要测试它们的值而r不会将它们识别为数字.
当我将十进制数转换为数字时,我得到正确的值:
> a <- as.numeric(1.2)
> a
[1] 1.2
Run Code Online (Sandbox Code Playgroud)
但是,当我从data.frame中提取正值然后使用as.numeric时,数字会向上舍入:
> class(slices2drop)
[1] "data.frame"
> slices2drop[2,1]
[1] 1.2
Levels: 1 1.2
> a <- as.numeric(slices2drop[2,1])
> a
[1] 2
Run Code Online (Sandbox Code Playgroud)
以防万一:
> a*100
[1] 200
Run Code Online (Sandbox Code Playgroud)
所以这不是显示问题,数据本身没有得到妥善处理.
此外,当数字为负时,我得到NA:
> slices2drop[2,1] <- -1
> a <- as.numeric(slices2drop[2,1])
> a
[1] NA
Run Code Online (Sandbox Code Playgroud)
对于可能发生的事情有任何想法吗?