z = c(10,12) > d -6ren">
gpt4 book ai didi

在 Julia 中重现 R 中的 `expand.grid` 函数

转载 作者:行者123 更新时间:2023-12-01 19:21:57 26 4
gpt4 key购买 nike

expand.gridR中一个非常方便的函数,用于计算多个列表的所有可能组合。其工作原理如下:

> x = c(1,2,3)
> y = c("a","b")
> z = c(10,12)
> d = expand.grid(x,y,z)
> d
Var1 Var2 Var3
1 1 a 10
2 2 a 10
3 3 a 10
4 1 b 10
5 2 b 10
6 3 b 10
7 1 a 12
8 2 a 12
9 3 a 12
10 1 b 12
11 2 b 12
12 3 b 12

如何在 Julia 中重现此函数?

最佳答案

感谢@Henrik 的评论:

x = [1,2,3]
y = ["a","b"]
z = [10,12]
d = collect(Iterators.product(x,y,z))

这是使用列表理解的另一个解决方案

reshape([ [x,y,z]  for x=x, y=y, z=z ],length(x)*length(y)*length(z))

关于在 Julia 中重现 R 中的 `expand.grid` 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28662970/

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