对包含数字,NA和NaN的向量进行舍入的最佳方法是什么?我不想省略NA或NaN,因为我想保留数字的顺序。
x = c(2,3,4,NA,"NaN",3, 5)
round(x,2) #does not work
编辑:回合中的错误(x,2):数学函数的非数字参数
答案 0 :(得分:6)
x
是一个字符向量,因为它包含一个字符"NaN"
。将x
转换为数字会有所帮助。
x = c(2,3,4,NA,"NaN",3, 5)
class(x) # To see the class of x
round(as.numeric(x),2)
答案 1 :(得分:2)
NaN周围不应该有引号。 “NaN”是一个字符串; NaN是数字。如果这发生在您的玩具示例之外,则表明您的代码中存在其他问题。
x = c(2,3,4,NA,NaN,3, 5)
round(x,2)
# [1] 2 3 4 NA NaN 3 5
答案 2 :(得分:2)
library(plyr)
round_any(x,1)
[1] 2 3 4 NA NaN 3 5