Как повторить указанные c числа в, а l oop и добавить их как числа c в R - PullRequest
0 голосов
/ 02 августа 2020

Мне было интересно, поможет ли мне кто-нибудь решить мою проблему. Я хочу производить числа раз, если у меня число больше 10. Например, если я хочу написать простой код:

    n= 53 
mem = rep(c(1,2,3,4,5,6),times=c(10,10,10,10,10,3))
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5  
[50] 5 6 6 6 

n= 52
mem = rep(c(1,2,3,4,5,6),times=c(10,10,10,10,10,2)) 
 
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5  
[50] 5 6 6 

# Чтобы получить числа с указанным c повторением, я написал Пока л oop. однако он # работает для 50 или 60, а не для 53 или 62. и не добавляет его. Заранее спасибо. # Код здесь:

n=53
x= rep(c(), times= c())
num=0
while (n>10) {
  n=n-10
  num=num+1
  x= rep(c(num), times= c(10))
  n=n+1
  x= rep(c(num), times= c(10))
  print(x)
  df <- rbind(df,as.numeric(x))
}

1 Ответ

0 голосов
/ 02 августа 2020

Мы можем добавить rep для times, а также

n <- 52
rep(1:6, times = rep(c(10, 2), c(5, 1)))
#[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6

n <- 53
rep(1:6, times = rep(c(10, 3), c(5, 1)))
#[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6
...