2017-01-22 25 views
0

n個のオブジェクトを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 

、オブジェクトがグループサイズで割り切れるものではなく、グループの割り当てが長すぎるか短すぎるのいずれかであり得る:nオブジェクトはrep()関数を使用してX基間で均等に分割することができる場合、これは簡単です。

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(1:7, length.out = length(objects)) 
# [1] 1 2 3 4 5 6 7 1 2 3 
探しているものかもしれない。この rep_lenがあります
関連する問題