gpt4 book ai didi

julia - dplyr 类似于 Julia 中的 %>% 语法

转载 作者:行者123 更新时间:2023-12-01 22:35:23 25 4
gpt4 key购买 nike

在 R 中(感谢 magrittr/dplyr),您现在可以调用不带括号的函数,但您可以通过管道传递它们。

这意味着不用这样编码:

> as.character((sqrt(12)^2)
> as.Date("2014-01-01")

你也可以这样做:

> 12 %>% sqrt %>% .^2 %>% as.character
> "2014-01-01" %>% as.Date

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

Julia 语言是否支持类似的东西?

最佳答案

是的,有两种意义。

所以首先有|>,例如

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

我不会说它是非常惯用的 Julia(或者 R,它是使用 dplyr 对数据帧进行操作的异常(exception))。 There is a discussion about enhancing this type of thing and making the syntax better.你可以用 Lazy.jl 做很多巧妙的事情不过现在!

特别是对于 DataFrames,它是一个 WIP,但有 DataFramesMeta.jlLazy.jl 结合,它可以让您执行诸如 dplyrLINQ 之类的操作(摘自其自述文件):

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

关于julia - dplyr 类似于 Julia 中的 %>% 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28287705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com