重复数值向量
Repeating a numerical vector
假设我有以下数值向量
z = 1:3
f <-c(rep(z[1],3),rep(z[2],3),rep(z[3],3))
[1] 1 1 1 2 2 2 3 3 3
现在假设如下:
z =1:i #i is an interger
如何编写一个函数来获得与第一行代码相同的输出格式?
我尝试了一个 for 循环,但没有得到想要的结果。
尝试 rep
和 each = 3
> rep(1:3, each = 3)
[1] 1 1 1 2 2 2 3 3 3
或kronecker
> kronecker(1:3, rep(1, 3))
[1] 1 1 1 2 2 2 3 3 3
或replicate
> c(t(replicate(3, 1:3)))
[1] 1 1 1 2 2 2 3 3 3
使用 for 循环:
z <- 3
vector <- c()
for (i in 1:z){
vector <- append(vector, rep(i,z))
}
> vector
[1] 1 1 1 2 2 2 3 3 3
假设我有以下数值向量
z = 1:3
f <-c(rep(z[1],3),rep(z[2],3),rep(z[3],3))
[1] 1 1 1 2 2 2 3 3 3
现在假设如下:
z =1:i #i is an interger
如何编写一个函数来获得与第一行代码相同的输出格式? 我尝试了一个 for 循环,但没有得到想要的结果。
尝试 rep
和 each = 3
> rep(1:3, each = 3)
[1] 1 1 1 2 2 2 3 3 3
或kronecker
> kronecker(1:3, rep(1, 3))
[1] 1 1 1 2 2 2 3 3 3
或replicate
> c(t(replicate(3, 1:3)))
[1] 1 1 1 2 2 2 3 3 3
使用 for 循环:
z <- 3
vector <- c()
for (i in 1:z){
vector <- append(vector, rep(i,z))
}
> vector
[1] 1 1 1 2 2 2 3 3 3