gpt4 book ai didi

R cut 函数中的舍入

转载 作者:行者123 更新时间:2023-12-05 07:59:03 25 4
gpt4 key购买 nike

有谁知道R如何在cut函数中选择有效位数?

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 使用我在 cut 函数中提供的确切边界,但它似乎是四舍五入的。我不清楚它如何选择舍入精度。请参见下面的示例。是否可以强制 R 使用我的确切边界?

最佳答案

如何使用 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 的使用只是为了控制在中断向量中的数字不相同时会出现的警告消息。

关于R cut 函数中的舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com