在对data.frame或vector进行子集化时,无论调用次数多少次,相同的子集调用都会保证返回相同的值/行顺序?
答案 0 :(得分:4)
对于矢量,绝对是的。从子集的文档:
对于普通向量,结果只是
x[subset & !is.na(subset)]
。
对于数据框,同样看起来也是如此,因为子集仅作为向量有效地应用于每一行。例如,以下内容始终只返回b
d
列的条目,其a
值对应的d <- data.frame(a=1:10, b=20:29)
subset(d, a>5, b)
值大于5.不会重新排序行。
{{1}}