3

在迭代算法中,我在每个步骤中确定一个、几行或不考虑进一步计算的行。为了存储感兴趣的行,我必须绑定两个变量:X.id 和 X.val。我目前使用:

cbind(X.id,X.val)

当 X.id 和 X.val 都是矩阵时,它工作正常:

X.id  <- matrix(1,nrow=2,3)
X.val <- matrix(1,nrow=2,1)     
 cbind(X.id,X.val)
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    1    1    1    1

但不是当他们有一排时:

X.id  <-  c(1,1,1)
X.val <- matrix(1,nrow=1,1)
cbind(X.id,X.val)

这给出了以下错误:

 In cbind(c(1, 1, 1), matrix(1, nrow = 1, 1)) : number of rows of result is not a multiple of vector length (arg 1)

当行数为 0,1 和 n 时,建议的解决方案应该有效,同时保留矩阵的维数!

4

2 回答 2

5

我相信你正在寻找append(X.id,X.val)

于 2013-04-24T15:33:15.543 回答
0

关于 和 之间的关系,这个问题有点id不清楚value。您寻求的解决方案很可能是使用list@cyro111 在评论中描述的那样。

使用cbind不会给你你想要的结果,因为它会强制X.id进入一个列。(当然,除非那是你所追求的。同样,你的问题有点不清楚)。

您也可以简单地使用c() as

 > c(X.id, X.val)
 [1] 1 1 1 1
于 2013-04-24T17:11:20.677 回答