Существует ли версия? Rep, которая получает «каждый» как вектор?(Вопрос R) - PullRequest
1 голос
/ 22 октября 2010

(пожалуйста, игнорируйте этот вопрос - это глупо ...)

Я хочу что-то, что сделает это:

rep(1:3, each = 1:3)
# And will output this vector:
c(1,2,2,3,3,3)

Это существует? (и если да, то как?)

Обновление: я могу написать так -

rep2 <- function(x, each)
{
    output <- NULL
    for(i in 1:length(x))
    {
        output <- c(output, rep(x[i], each = each[i]))
    }
    return(output)
}
# example:
rep2(1:3,1:3)

Но я надеюсь на более разумное решение ...

Ответы [ 2 ]

2 голосов
/ 22 октября 2010
rep(1:3,1:3)

Конечно, это работает как ваш пример.Для информации аргументом для функции rep является times, each - одно целое число (или первый элемент вектора), которое определяет повторение всех элементов x.

1 голос
/ 22 октября 2010

ммм это:

> rep(1:3, 1:3)
[1] 1 2 2 3 3 3

Вам нужен аргумент 'times =', а не 'each ='.

...