有没有一种方法可以更有效地在 R 函数 cut 中编写这些多个断点(步长相等)?

Is there a way to write these multiple break points (with equal step length) in R function cut more efficiently?

这就是我所做的,它给出了我想要的结果,但是效率很低。

cut(df1$wage, breaks = c(-Inf, 20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000, Inf), 
         include.lowest=TRUE, dig.lab=10, labels = c("-20 000", "20 000-21 000", "21 000-22 000", "22 000-23 000", "23 000-24 000",
                                                    "24 000-25 000", "25 000-26 000", "26 000-27 000", "27 000-28 000", "28 000-29 000", "29 000-30 000", "30 000-"))

我想要一个最低的 bin,它包含不超过某个指定值的所有值,在示例中为 20 000。对于高于 30 000 的所有值也是如此。

而且我希望能够改变断点之间的步长,在示例中现在是 1000,比如说 500,而不必明确指定所有断点。

最好我也希望标签遵循我指定的断点,否则这也会成为一个非常低效的过程

对于休息部分,我接近 breaks = (seq(from = 20000, to = 30000, by = 1000))但无法弄清楚如何像上面的示例一样包括底部和顶部垃圾箱

您可以将中断存储在向量中并在 breakslabels

中使用它
breaks <- seq(from = 20000, to = 30000, by = 1000)

cut(df1$wage, breaks = c(-Inf, breaks Inf), include.lowest=TRUE, dig.lab=10, 
 labels = c(-20000, paste(head(breaks, -1), tail(breaks, -1), sep = "-"), "30000-"))