我是一名有用的助手,可以为您进行文本翻译。
我有两个矩阵(expmat
和 mat
)。
假设 expmat
是:
[1,] -1 -1 -1 -1 -1
[2,] 1 -1 -1 -1 -1
[3,] -1 1 -1 -1 -1
[4,] 1 1 -1 -1 -1
[5,] -1 -1 1 -1 -1
[6,] 1 -1 1 -1 -1
[7,] -1 1 1 -1 -1
[8,] 1 1 1 -1 -1
并且 mat
是
[1,] -2 -2 -2 -2 -2
[2,] 2 -2 -2 -2 -2
[3,] -2 2 -2 -2 -2
[4,] 2 2 -2 -2 -2
[5,] -2 -2 2 -2 -2
[6,] 2 -2 2 -2 -2
[7,] -2 2 2 -2 -2
我希望创建一个循环,每个周期中我将一行从
expmat
加入到mat的所有行中,以便最终创建8个矩阵,在每个矩阵中,前5列完全相同(来自expmat
的行),其他列会因为来自mat而改变。例如,给定示例的前2个矩阵如下:Matrix1
-1 -1 -1 -1 -1 -2 -2 -2 -2 -2
-1 -1 -1 -1 -1 2 -2 -2 -2 -2
-1 -1 -1 -1 -1 -2 2 -2 -2 -2
-1 -1 -1 -1 -1 2 2 -2 -2 -2
-1 -1 -1 -1 -1 -2 -2 2 -2 -2
-1 -1 -1 -1 -1 2 -2 2 -2 -2
-1 -1 -1 -1 -1 -2 2 2 -2 -2
Matrix 2
1 -1 -1 -1 -1 -2 -2 -2 -2 -2
1 -1 -1 -1 -1 2 -2 -2 -2 -2
1 -1 -1 -1 -1 -2 2 -2 -2 -2
1 -1 -1 -1 -1 2 2 -2 -2 -2
1 -1 -1 -1 -1 -2 -2 2 -2 -2
1 -1 -1 -1 -1 2 -2 2 -2 -2
1 -1 -1 -1 -1 -2 2 2 -2 -2
这是我正在做的事情:
for(row in 1:nrow(expmat)) {
for(row in 1:nrow(expmat)) {
val<-expmat[row,]
val<-as.matrix(val)
dshybrid=merge(t(val),mat, by=0, all=TRUE)
print(dshybrid)}
然而我得到了所需的内容。
-1 -1 -1 -1 -1 -2 -2 -2 -2 -2
NA NA NA NA NA 2 -2 -2 -2 -2
NA NA NA NA NA -2 2 -2 -2 -2
NA NA NA NA NA 2 2 -2 -2 -2
NA NA NA NA NA -2 -2 2 -2 -2
NA NA NA NA NA 2 -2 2 -2 -2
NA NA NA NA NA -2 2 2 -2 -2
....