以一个特定的间隔切割
Cut with one specific interval
我有一个数据集,我想使用 cut() 函数(或类似的东西)将它分成 4 个部分。
set.seed(5)
cut(runif(100, 0, 100), 4)
给出等级:(1.35,25.8] (25.8,50.2] (50.2,74.6] (74.6,99]
问题是,我希望一个间隔是 (25.8,50],另一个是 (50,74.6)。实际上,休息可能会有所不同,但这 50 对我来说很重要。如何实现它?
如果您使用 cut,则 第一个中断必须小于 min(data)。否则区间会有NA。
例如使用分位数,
cut(data, breaks= c(min(data) - diff(range(data)) / 1000,
quantile(data)[2:5]))
此外,您已经知道两个中间区间(25.8 - 50 和 50 - 74.6),然后只需找到数据的最小值和最大值
cut(data, breaks= c(min(data) - diff(range(data)) / 1000,
25.8, 50, 74.6, max(data)))
我有一个数据集,我想使用 cut() 函数(或类似的东西)将它分成 4 个部分。
set.seed(5)
cut(runif(100, 0, 100), 4)
给出等级:(1.35,25.8] (25.8,50.2] (50.2,74.6] (74.6,99]
问题是,我希望一个间隔是 (25.8,50],另一个是 (50,74.6)。实际上,休息可能会有所不同,但这 50 对我来说很重要。如何实现它?
如果您使用 cut,则 第一个中断必须小于 min(data)。否则区间会有NA。
例如使用分位数,
cut(data, breaks= c(min(data) - diff(range(data)) / 1000,
quantile(data)[2:5]))
此外,您已经知道两个中间区间(25.8 - 50 和 50 - 74.6),然后只需找到数据的最小值和最大值
cut(data, breaks= c(min(data) - diff(range(data)) / 1000,
25.8, 50, 74.6, max(data)))