例如,对于向量的每个元素,我想计算该向量的其他元素与残差之和。这对于一个元素正确工作:
a = [1, 2, 5, 7, 8, 22]
f(x) = sum(abs.(x .- a))
f(2)
Out: 35
但是,如果使用map()将此函数应用于所有元素,Julia将返回错误:
map(a, f)
Out: "MethodError: no method matching iterate(::typeof(f))"
在R中,使用sapply()非常容易:
a = c(1, 2, 5, 7, 8, 22)
sapply(a, function(x) sum(abs(x - a)))
Out: 39 35 29 29 31 87
朱莉娅(Julia)有同样优雅的方法吗?
该函数map
将应用于集合的函数作为第一个参数。即你可以写
map(f, a)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句