2017-01-22 106 views
0

我有一个应用程序需要将n个对象排序为x个连续编号的组。这是直截了当当n对象同样可以使用rep()函数X基团中可分为:R重复n次

objects <- c(1: 10) 
groups <- 5 
assign1 <- rep(1:groups, times= (length(objects)/groups)) 
assign1 
[1] 1 2 3 4 5 1 2 3 4 5 

然而,当对象不是按组尺寸整除,组分配可以是太长或太短:

groups <- 7 
assign2 <- rep(1:groups, times= (length(objects)/groups)) 
assign2 
[1] 1 2 3 4 5 6 7 

这可以通过补救:

assign_set <- rep(1:groups, times= (length(objects)/groups)+1) 
assign3 <- assign_set[1:length(objects)] 
assign3 
[1] 1 2 3 4 5 6 7 1 2 3 

该解决方案似乎是低效的。有没有更有效的方法来完成这项任务?

回答

0

有这个rep_len那可能是你在找什么

rep_len(1:7, length.out = length(objects)) 
# [1] 1 2 3 4 5 6 7 1 2 3