0

我有一个需要按条件过滤的矩阵。

yj = y[which(g[,j] == 1),]

当“which(g[,j] == 1)”是 1(或无)分量向量时会出现问题。输出,即前面提到的“yj”,突然变成了一个向量。我需要能够按列引用它。即使它是单行,它仍然需要按列引用。

我该如何做到这一点?

4

1 回答 1

2

在子集化时使用drop = FALSE

yj = y[which(g[,j] == 1),, drop = FALSE]

如果which(g[,j] == 1)使用条件可以更好地检查它的长度为 0 if

inds <- which(g[,j] == 1)
if(inds) yj = y[inds, ,drop = FALSE]
于 2020-05-11T02:39:25.060 回答