gpt4 book ai didi

r - 根据每个元素的平方和排列向量列表

转载 作者:行者123 更新时间:2023-12-02 03:21:29 29 4
gpt4 key购买 nike

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

我想根据每个向量元素的平方和来排列列表中的向量。

三个向量的平方和:

1^2 + 2^2 = 5,

1^2 + 4^2 = 17,

1^2 + 1^2 = 2.

2 < 5 < 17 ,所需的输出将是:

   vectors   squaresum
c(1,1) 2

c(1,2) 5

c(1,4) 17

我正在考虑构建一个平方和函数。然后使用该函数对向量进行排序。但无法正确执行。任何帮助将不胜感激。

最佳答案

您可以迭代列表来计算每个向量的平方和,并使用 order() 来按升序获取值的索引。然后,您可以使用它们对初始列表进行排序x:

x[order(sapply(x, function(v) sum(v ** 2)))]

结果是:

[[1]]
[1] 1 1

[[2]]
[1] 1 2

[[3]]
[1] 1 4

关于r - 根据每个元素的平方和排列向量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50208654/

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