gpt4 book ai didi

r - 如何在函数中编写下标 i?

转载 作者:行者123 更新时间:2023-12-04 10:35:00 24 4
gpt4 key购买 nike

我尝试用 R 编写以下函数: f(x)

我目前有如下代码,但是我不明白下标i怎么表示?

f5 <- function(x) {((x^4 - 16*x^2 + 5*x)/2)}

最佳答案

有(至少)两种方法可以做到这一点,显式(for-loop)方式和隐式(矢量化)方式。

循环

function(x) {
s <- 0
for (i in seq_along(x)) {
s <- s + (x[i]^4 - 16*x[i]^2 + 5*x[i])/2
}
s
}

(之前发布的答案建议您可以使用 sapply(),但它比显式的 for 循环更难理解......)

矢量化

由于 R 自动执行标准算术运算 (^, *, -, +, /) 以向量化方式,您可以一次计算所有元素的表达式,然后使用sum() 函数。矢量化解决方案更快、更易于阅读(一旦您习惯了)。

function(x) {
sum((x^4 - 16*x^2 + 5*x)/2)
}

关于r - 如何在函数中编写下标 i?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58918206/

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