【发布时间】:2017-07-11 14:09:02
【问题描述】:
我想删除向量k索引的一行矩阵x比如
x = matrix(1:10, 5, 2)
k = rep(1, 5)
# my attempt:
index = which(k == 0)
y = x[-index, ]
# [,1] [,2]
这里,没有行满足我的删除条件k == 0,所以index 将返回空向量integer(0)。因此,x[-index, ] 将返回一个没有行的矩阵,而不是保留它自己。
我不知道如何处理这个问题,请有人帮我解决这个问题?
【问题讨论】:
-
y <- x[k != 0, ]? -
if (length(index)==0) {y <- x} else {y <- x[-index]} -
@Axeman,当
k不存在时,它会给出预期的行为,但是当k存在时,它给出的输出与y <- x[-index]不同,至少对我来说...... -
是的,这就是像这样进行索引时的风险。最好坚持原始条件(
k != 0)而不是满足它的索引的可能零长度向量......
标签: r