Julia 的包中是否有 rep() 函数?

A. *_*man 7 r julia

我正在 Julia 中寻找一个函数,它可以采用类似于此 R 代码的值:

rep(1, ncol(X))
Run Code Online (Sandbox Code Playgroud)

我知道我可以将 DataFrames 包用于R 中lengthncol()函数,但我rep在 Julia 中找不到函数。谢谢!

Bog*_*ski 11

rep在 Julia 中的等价物是repeat。作为参数,它需要一个AbstractArray和两个关键字参数innner(如each在 R 中)和outer(如times在 R 中)。好处repeat是它与多维数组一致(您可以查看文档以了解详细信息)。

例如:

julia> repeat([1,2,3], inner=2, outer=3)
18-element Array{Int64,1}:
 1
 1
 2
 2
 3
 3
 1
 1
 2
 2
 3
 3
 1
 1
 2
 2
 3
 3
Run Code Online (Sandbox Code Playgroud)

在 Julia 中为您提供与以下相同的内容:

> rep(c(1,2,3), each=2, times=3)
 [1] 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3
Run Code Online (Sandbox Code Playgroud)

在 R。

编辑:如果你想重复一个标量使用fill,例如:

julia> fill(1, 5)
5-element Array{Int64,1}:
 1
 1
 1
 1
 1
Run Code Online (Sandbox Code Playgroud)

  • 但我在 Julia 中找不到的一件事是相当于 `rep(1:3,each = 1:3)` 给出 `1, 2, 2, 3, 3, 3` (2认同)
  • @Michael:我会使用 ` vcat(fill.(1:3, 1:3)...)` 但当然这不是一个干净的解决方案。 (2认同)