gpt4 book ai didi

r - R 中向量及其负数的所有组合

转载 作者:行者123 更新时间:2023-12-04 10:07:14 25 4
gpt4 key购买 nike

如何在 R 中找到向量的所有组合及其负数?

IE。

x <- c(1,2,3,4)

会输出
(1,2,3,4), (-1,2,3,4), (1,-2,3,4), (1,2,-3,4), (1,2,3,-4), ... , (-1,-2,-3,-4)

最佳答案

您可以使用 do.callexpand.grid :

do.call(expand.grid, lapply(x, function(y) c(y, -y)))
# Var1 Var2 Var3 Var4
# 1 1 2 3 4
# 2 -1 2 3 4
# 3 1 -2 3 4
# 4 -1 -2 3 4
# 5 1 2 -3 4
# 6 -1 2 -3 4
# 7 1 -2 -3 4
# 8 -1 -2 -3 4
# 9 1 2 3 -4
# 10 -1 2 3 -4
# 11 1 -2 3 -4
# 12 -1 -2 3 -4
# 13 1 2 -3 -4
# 14 -1 2 -3 -4
# 15 1 -2 -3 -4
# 16 -1 -2 -3 -4

代码 lapply(1:4, function(x) c(x, -x))创建向量的每个元素及其负数的列表;在您的情况下,这将是 list(c(1, -1), c(2, -2), c(3, -3), c(4, -4)) .然后 do.call将这些列表元素中的每一个作为参数传递给 expand.grid , 返回所有可能的组合。

获取参数的一种稍微简单的方法是使用 as.data.frame(rbind(x, -x))而不是 lapply(x, function(y) c(y, -y)) .

关于r - R 中向量及其负数的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28144864/

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