假设我在Mata中定义了一个向量foo
,因此:
mata: foo = (1,2,1,3,1,4)
如何在foo
上执行元素测试?例如,在R中,如果我这样定义foo:
foo = c(1,2,1,3,1,4)
我可以简单地键入:
foo == 1
并且作为结果,我获得用于逐元素测试== 1
:的布尔值的向量
TRUE FALSE TRUE FALSE TRUE FALSE
然后我可以对其进行分配或执行操作(例如,对TRUE
或FALSE
值的数量进行计数)。
当然,我可以用几行代码在每个元素上循环,但不知道该语言是否已经有了用于此任务的优雅语法。
逐元素计算时使用冒号(:
)运算符。
mata
V = (1 2 3 4)
V
V :== 1
end
详见help [M-2] op_colon
。