3

舍入由数字、NA 和 NaN 组成的向量的最佳方法是什么。我不想省略 NA 或 NaN 因为我想保留数字的顺序。

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

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

4

3 回答 3

8

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)
于 2012-12-13T04:40:00.000 回答
2
  library(plyr)

 round_any(x,1)
  [1]   2   3   4  NA NaN   3   5
于 2012-12-13T04:49:56.247 回答
2

NaN 周围不应该有引号。“NaN”是一个字符串;NaN 是数字。如果这发生在您的玩具示例之外,则表明您的代码中的其他地方存在问题。

x = c(2,3,4,NA,NaN,3, 5)
round(x,2)  
# [1]   2   3   4  NA NaN   3   5
于 2012-12-13T04:25:16.460 回答