gpt4 book ai didi

r - 如何对具有相同名称的列表元素求和?

转载 作者:行者123 更新时间:2023-12-04 13:30:38 24 4
gpt4 key购买 nike

我正在寻找解决此问题的方法:
我有一个这样的 list list

sample = list("element1" = list("term1"=0.5, "term2"=1, "term3"= 4, "term1"= 0.5), "element2" = list("term23"=5, "term1"=2, "term23"=4))

对于外部列表的每个列表,我想对具有相同名称的值求和。所以所需的输出是
desired_output = list("element1" = list("term1"=1, "term2"=1, "term3"= 4), "element2" = list("term23"=9, "term1"=2))

其实我想到要用这样的东西
result = lapply(sample, function(l) aggregate(l, by = list(names(l)), FUN = sum))

但这给了我一个错误。
有什么想法吗?
提前致谢。

最佳答案

尝试这个:

lapply(sample, function(y) {lapply(split(y,names(y)), function(x) {Reduce("+", x) })})

输出:
$element1
$element1$term1
[1] 1

$element1$term2
[1] 1

$element1$term3
[1] 4


$element2
$element2$term1
[1] 2

$element2$term23
[1] 9

希望这可以帮助!

关于r - 如何对具有相同名称的列表元素求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48110108/

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