use*_*086 7 data-binding r matrix rbind
我有以下矩阵
FI1 FI2 YI1 YI2 BAL1 BAL2 GRO1 GRO2 EQ1 EQ2
1 0.22 0.15 0.1 0.1 0.05 0.05 0.05 0.05 0.05 0.05
2 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
3 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
4 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
5 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
6 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
现在我希望将这个矩阵重复10次并放入一个矩阵,使它看起来像这样(我只在这里显示2次)
FI1 FI2 YI1 YI2 BAL1 BAL2 GRO1 GRO2 EQ1 EQ2
1 0.22 0.15 0.1 0.1 0.05 0.05 0.05 0.05 0.05 0.05
2 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
3 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
4 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
5 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
6 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
1 0.22 0.15 0.1 0.1 0.05 0.05 0.05 0.05 0.05 0.05
2 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
3 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
4 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
5 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
6 0.22 0.00 0.0 0.0 0.00 0.00 0.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个简单的方法来实现这个目标吗?谢谢Andreas
Mat*_*rde 25
这是另一种方式:
do.call(rbind, replicate(10, m, simplify=FALSE)) # where m is your matrix
Run Code Online (Sandbox Code Playgroud)
Sim*_*lon 12
如果您的矩阵被调用,m那么您可以使用rep()矩阵实际上只是一个原子向量,然后matrix()使用原始矩阵的列将其包起来以获得正确的维度.您必须transpose先使用t()才能正确堆叠(感谢@MatthewPlourde指出了这一点).此操作完全是矢量化的,因此应该非常快速和有效.
matrix( rep( t( m ) , 10 ) , ncol = ncol(m) , byrow = TRUE )
Run Code Online (Sandbox Code Playgroud)
m <- matrix( 1:9 , 3 )
matrix( rep( t( m ) , 2 ) , ncol = ncol(m) , byrow = TRUE )
# [,1] [,2] [,3]
#[1,] 1 4 7
#[2,] 2 5 8
#[3,] 3 6 9
#[4,] 1 4 7
#[5,] 2 5 8
#[6,] 3 6 9
Run Code Online (Sandbox Code Playgroud)
这样做的数学方法是将矩阵的Kronecker乘积与1的向量.
mX = matrix(rnorm(100), 10, 10)
mX %x% rep(1, numTimesToRepeat)
Run Code Online (Sandbox Code Playgroud)
不优雅,但如果你只是想继续工作就足够简单了:
m <- matrix(rnorm(60), ncol = 10)
str(m)
m2 <- rbind(m, m, m, m, m, m, m, m, m, m)
str(m2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19254 次 |
| 最近记录: |