2016-09-19 3 views
3

У меня есть куча наблюденийпоследовательность группы целых чисел

x = c(1, 2, 4, 1, 6, 7, 11, 11, 12, 13, 14)

, что я хочу, чтобы включить в группу:

y = c(1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3)

Т.е. я хочу первые 5 целые числа (от 1 до 5), чтобы составить одну группу, следующие целые числа 5, чтобы составить следующую группу (от 6 до 10) и т. д.

Есть ли простой способ выполнить это без петли?

Разъяснение: Мне нужно программно создать группы образуют вектор входных (x)

+0

@akrun, спасибо, но мне нужно программно создать группы из входного вектора ('x') – luffe

ответ

3

Мы можем использовать %/%, чтобы создать группу

x%/%5+1 
#[1] 1 1 1 1 2 2 3 3 3 3 3 
2

Вы можете использовать ceiling создавать группы

ceiling(x/5) 

# [1] 1 1 1 1 2 2 3 3 3 3 3 
Смежные вопросы