我有这个数据,并希望每n个数字对每个数字进行分类(示例2(。使用切割或cut_interval,不是"切割"它。非常欢迎任何建议。谢谢!
haves <- data.frame(
some_vector = c(1,2,2,3,4,5,6,7,8)
)
haves$category <- cut_interval(df$some_vector, n=2)
haves
wants <- data.frame(
some_vector = c(1,2,2,3,4,5,6,7,8)
,category = c(1,1,1,2,2,3,3,4,4)
)
wants
这应该可以(对于正数(
cut_interval <- function(x, n) ceiling(x / n)
cut_interval(haves$some_vector, n=2)
# [1] 1 1 1 2 2 3 3 4 4
无论如何,cut()
应该能够削减它(从@Henrik改进,所以它概括(:
cut(haves$some_vector, c(-Inf, seq(2, max(haves$some_vector), by = 2), Inf), labels = FALSE)
# [1] 1 1 1 2 2 3 3 4 4