如何舍入向量由数字,NA和NaN组成

时间:2012-12-13 04:19:30

标签: r

对包含数字,NA和NaN的向量进行舍入的最佳方法是什么?我不想省略NA或NaN,因为我想保留数字的顺序。

x = c(2,3,4,NA,"NaN",3, 5)
round(x,2)  #does not work 

编辑:回合中的错误(x,2):数学函数的非数字参数

3 个答案:

答案 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