2014-04-25 138 views
0

有谁知道R如何选择舍弃函数中有效数字的位数?R舍入函数舍入

y<-c(61, 64, 64, 65, 66) 
table(cut(y, breaks=c(60.555, 67.123, 75.055))) 

产生的结果

(60.6,67.1] (67.1,75.1] 
      5   0 

table(cut(y, breaks=c(60.958, 67.958, 74.958))) 

产生的结果

(61,68] (68,75] 
     5  0 

我宁愿是R使用我的切口提供准确界限功能,但似乎四舍五入。我不清楚它是如何选择四舍五入的精度的。看下面的例子。是否有可能迫使R使用我的确切边界?

+0

你知道你在这个例子中使用了两个不同的变量吗? – rawr

+2

无论如何,'dig.lab'是'cut'中的参数,你需要 – rawr

+0

x是什么? – Shambho

回答

0

如何使用nchar找到每个切割的位数?这里有三个例子。

> y <- c(61, 64, 64, 65, 66) 
> breaks1 <- c(60.555, 67.123, 75.055) 
> table(cut(y, breaks = breaks1, dig.lab = min(nchar(breaks1)))) 

## (60.555,67.123] (67.123,75.055] 
##    5    0 
> breaks2 <- c(60.5, 67.1, 75.4) 
> table(cut(y, breaks = breaks2, dig.lab = min(nchar(breaks2)))) 

## (60.5,67.1] (67.1,75.4] 
##   5   0 
> breaks3 <- c(60, 67, 75) 
> table(cut(y, breaks = breaks3, dig.lab = min(nchar(breaks3)))) 

## (60,67] (67,75] 
##  5  0 

注意,使用的min只是为了控制警告将要发生的数字不会在中断矢量相同的消息。