gpt4 book ai didi

r - 了解累加函数的工作原理

转载 作者:行者123 更新时间:2023-12-03 23:33:31 25 4
gpt4 key购买 nike

我阅读了使用手册 accumulate说它是一个2参数的函数。我不明白给定的例子:

1:5 %>% accumulate(`+`)
#> [1] 1 3 6 10 15
accumulate是一个 2 参数函数,它输出的第一个元素应该是 3 ?因为 1+2=3 ,为什么第一个元素可以作为输出?

最佳答案

accumulate是一个双参数函数,其中第一个参数是向量,第二个参数是函数。它的输出也是一个与输入长度相同的向量,除非 .init在这种情况下,它将比输入长度大一个长度。

1:5 %>% accumulate(`+`)

#means

accumulate(1:5, `+`)
现在, accumulate通过在提供的向量的各个元素之间滚动提供的函数来计算输出。自 operation作为输出的第二个参数提供需要两个元素,即(i)前一个元素的输出和(ii)下一个元素,逻辑上第一次它可以在不应用任何操作的情况下输出输入向量的相同元素。
1:5 %>% accumulate(`+`)
#> [1] 1 3 6 10 15
即使 .init,情况也是一样的提供,在这种情况下,输出向量的第一个元素将等于提供的 .init . (见罗纳克的例子)
library(purrr)
1:5 %>% accumulate(`+`, .init = 3)
#[1] 3 4 6 9 13 18
现在检查输出向量中是否有六个元素,尽管输入向量中有五个元素 (1:5)。
给定输出的第一个元素应该是 3 的逻辑是正确的,但在大多数情况下,输出向量的要求与输入的长度相同。因此,开发者可能会想到将第一个元素本身包含在内,而无需任何功能的操作/应用。

关于r - 了解累加函数的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66084519/

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