我目前正在使用这个实现:
getVal = function(i, x, margin) {
rst = ifelse(margin==1, x[i, ], x[, i])
}
即返回x的第i行或列,取决于margin的值。
=== 更新 ===
刚刚意识到我ifelse(x,y,z)
在这里使用语句是错误的,因为它返回的值与其第一个参数长度相同。我的实现getVal
应该有:
...
rst = if (margin == 1) x[i, ] else x[, i]
...