dplyr喜欢julia中的%>%语法

can*_*his 11 julia dplyr

在R(感谢magrittr/ dplyr)你现在可以调用没有括号的函数,但你可以管它们.

这意味着不是编码:

> as.character((sqrt(12)^2)
> as.Date("2014-01-01")
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:

> 12 %>% sqrt %>% .^2 %>% as.character
> "2014-01-01" %>% as.Date 
Run Code Online (Sandbox Code Playgroud)

R广泛使用它来编辑数据帧.除了数据帧之外,我觉得这种语法对于创建功能脚本非常易读且功能强大.

朱莉亚语言是否支持类似的东西?

Iai*_*ing 19

是的,从两个方面来说.

首先|>,例如,有

12 |> sqrt |> x->x^2 |> string  # 11.999999999999998
using Dates  # needed in 0.3, baked in to 0.4
"2014-01-1" |> d->Date(d,"yyyy-mm-dd") |> year |> iseven  # true
Run Code Online (Sandbox Code Playgroud)

我不会说它非常惯用的朱莉娅(或者R,除了在数据帧上进行操作dplyr).有关于增强此类事物并使语法更好的讨论.你现在可以用Lazy.jl做很多简洁的事情了!

特别是对于其在制品,但DataFrames DataFramesMeta.jl联合Lazy.jl,它可以让你做这样的事情dplyr,并LINQ如(从他们的自述拍摄):

x_thread = @> begin
    df
    @transform(y = 10 * :x)
    @where(:a .> 2)
    @by(:b, meanX = mean(:x), meanY = mean(:y))
    @orderby(:meanX)
    @select(:meanX, :meanY, var = :b)
end
Run Code Online (Sandbox Code Playgroud)