给定一个矩阵,
x<-matrix(rnorm(4))
我该怎么做以下
因此,第 1 行的元素将被复制 1 次,第 2 行的元素将被复制 2 次,等等......
我试图用'rep'和循环来做,但如果矩阵很大,它真的很慢。
给定一个矩阵,
x<-matrix(rnorm(4))
我该怎么做以下
因此,第 1 行的元素将被复制 1 次,第 2 行的元素将被复制 2 次,等等......
我试图用'rep'和循环来做,但如果矩阵很大,它真的很慢。
如果你只想要一个长向量,那么给定向rep
量化你可以简单地做......
rep( x , times = 1:nrow(x) )
#[1] 1.5921465 0.9901053 0.9901053 0.2125433 0.2125433 0.2125433 -0.9288893 -0.9288893 -0.9288893 -0.9288893
如果您需要将每一行作为单独的元素lapply
,请尝试使用不同类型的循环构造...
lapply( 1:nrow(x) , function(i) rep( x[i,] , times = i ) )
#[[1]]
#[1] 1.592147
#[[2]]
#[1] 0.9901053 0.9901053
#[[3]]
#[1] 0.2125433 0.2125433 0.2125433
#[[4]]
#[1] -0.9288893 -0.9288893 -0.9288893 -0.9288893
这个答案假设矩阵x
在您的.GlobalEnvironment