使用[c(0,0,1)]

时间:2016-05-05 17:58:13

标签: r subset

我尝试使用[c(0,0,1,0,1...)]对我的矢量进行子集化,但是在我打算用作切片器的二进制矢量中为每个“1”返回一个1的向量,而不是要被选出的预期值向左的向量。

seq(3)[as.logical(c(0,0,1))]

工作正常,但

seq(3)[c(0,0,1)]

返回1,我没想到。 只是想了解它是如何或为什么返回1而不是拉出与TRUE或1重合的值。

1 个答案:

答案 0 :(得分:2)

它将c(0,0,1)视为位置指示的向量。

编辑:我的意思是它是第0个元素,然后是第1个元素。在第0个元素中没有任何内容,因此您得到一个数字,它是序列的第一个元素,数字1。

如果您希望将其视为您的问题建议您可以转换为符合as.logical的逻辑

seq(3)[as.logical(c(0,0,1))]
# [1] 3