#r #function
#r #функция
Вопрос:
Мне нужно создать следующую последовательность:
> A
1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33
> B
-1, 2, -3, 4, -5, 6, -7, 8, -9, 10
Я пытался использовать функцию seq() следующим образом:
seq(1:3, 31:33, by = 10)
Но это позволяет вводить только 1 число в «от» и «до»
Может быть, кто-то знает, как использовать эту или другие функции для создания заданной последовательности. Заранее благодарю вас.
Ответ №1:
Вы можете использовать :
A <- c(sapply(seq(0, 30, 10), ` `, 1:3))
A
#[1] 1 2 3 11 12 13 21 22 23 31 32 33
B <- 1:10 * c(-1, 1)
B
#[1] -1 2 -3 4 -5 6 -7 8 -9 10
Ответ №2:
Вот один из способов добраться до A: A <- rep(1:3, 3) rep(c(0, 10, 20), each=3)
или обобщить до n A <- rep(1:n, n) rep(seq(0, by=10, length.out=n), each=n)
Для B я не могу найти ничего по-настоящему элегантного: B <- 1:10 * (-1)^(1:10 %% 2)
Это лучшее, что у меня есть