R - 强制一组索引行始终是矩阵(或数组)
R - forcing a set of indexed rows to always be a matrix (or array)
我有一个矩阵需要按条件过滤。
yj = y[which(g[,j] == 1),]
当 "which(g[,j] == 1)" 是 1(或 none)分量向量时会出现问题。前面提到的 "yj" 的输出突然变成了一个向量。我需要能够按列引用它。即使它是单行,它仍然需要按列引用。
我该如何做到这一点?
子集化时使用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]
我有一个矩阵需要按条件过滤。
yj = y[which(g[,j] == 1),]
当 "which(g[,j] == 1)" 是 1(或 none)分量向量时会出现问题。前面提到的 "yj" 的输出突然变成了一个向量。我需要能够按列引用它。即使它是单行,它仍然需要按列引用。
我该如何做到这一点?
子集化时使用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]