再举一个>
> c(5,2,4)<c(2,8,0)
[1] FALSE TRUE FALSE
> c(5,2,8)>7
[1] FALSE FALSE TRUE
返回的都是逻辑型向量。...x是4元向量,x*x也是4元向量,>是向量运算符,所以8实际是进行了循环补齐,实际是进行了如下比较
x*x>c(8,8,8,8)
返回值是布尔值向量
[1] TRUE FALSE TRUE TRUE...所以实际是用布尔值向量筛选x中的符合条件的元素,也就是执行的是
x[c(TRUE,FALSE,TRUE,TRUE)]
运用上述方式可以筛选另一个向量,也可以筛选自身。...10进行比较,所以z[,2]是向量,而10需要自动补齐,实际运行的是
> z[,2]>10
[1] FALSE FALSE FALSE FALSE TRUE TRUE
这就把返回值为TRUE的行提取出来了...还记得上面3.1部分吗
如果函数本身的返回值就不是标量,而是向量。