为什么在R遮罩中不能确定长度?那是
> v=c(1,2,3,4,5)
> mask=c(T,T,T,T)
> v[mask]
[1] 1 2 3 4 5
代替
> v[mask]
[1] 1 2 3 4
我怎么做?
这是因为回收。如果向量的长度不同,则较短的向量将按照指定的顺序循环使用。
比较以下内容:
> mask=c(F)
> v[mask]
numeric(0)
> mask=c(T)
> v[mask]
[1] 1 2 3 4 5
> mask=c(T, F, T, F)
> v[mask]
[1] 1 3 5
在第一个示例中,F
被回收了5次,因此没有值被打印-在第二个示例中情况相反。
在第三个示例中,省略了2和4,因为它们使用进行了索引F
,但是掩码被回收以提供T
for元素5
编辑所需的结果是1、2、3、4?尝试遮罩<-c(T,T,T,T,F)
这就是允许这样的语句
v[v != 5]
因为该比较在整个向量上都被回收
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句