gpt4 book ai didi

r - R 中的元组遵循 Mathematica Tuples[list, n]

转载 作者:行者123 更新时间:2023-12-04 18:22:50 24 4
gpt4 key购买 nike

我想在 R 中复制 Mathematica 的 Tuples[list, n] 的行为。例如,

Tuples[{0, 1}, 3] = 
{{0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1}, {1, 0, 0},
{1, 0, 1}, {1, 1, 0}, {1, 1, 1}}.

在 R 中,我想要以下结果:
tuples(c(0,1), 3) = list( c(0, 0, 0), c(0, 0, 1), c(0, 1, 0), 
c(0, 1, 1), c(1, 0, 0), c(1, 0, 1), c(1, 1, 0), c(1, 1, 1) )

或类似的东西,我可以提取子列表 c(0,0,0) 等。

有这个命令吗?或者我该如何编程?提前致谢。

最佳答案

这是一种方法:

tuples <- function(x, n) do.call(expand.grid, rep(list(x), n))

tuples(0:1, 3)
# Var1 Var2 Var3
# 1 0 0 0
# 2 1 0 0
# 3 0 1 0
# 4 1 1 0
# 5 0 0 1
# 6 1 0 1
# 7 0 1 1
# 8 1 1 1

我认为将其保留为矩阵或 data.frame 更有意义,因为所有元素都具有相同的长度。

关于r - R 中的元组遵循 Mathematica Tuples[list, n],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10309486/

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