gpt4 book ai didi

向量上的 R 重复数学方程式

转载 作者:行者123 更新时间:2023-12-04 06:11:40 25 4
gpt4 key购买 nike

我有一个看起来像这样的矢量:

> y
[1] 6.7 5.3 3.3 6.7 3.3 4.7 4.7 6.7 3.3 6.7

我尝试使用以下公式计算时移 h = 3 时的估计自协方差:

enter image description here

这就是我所做的,我想知道是否有比硬编码更简单的方法:

> 1/10 * (
+ (y[4] - mean(y))*(y[1] - mean(y)) +
+ (y[5] - mean(y))*(y[2] - mean(y)) +
+ (y[6] - mean(y))*(y[3] - mean(y)) +
+ (y[7] - mean(y))*(y[4] - mean(y)) +
+ (y[8] - mean(y))*(y[5] - mean(y)) +
+ (y[9] - mean(y))*(y[6] - mean(y)) +
+ (y[10] - mean(y))*(y[7] - mean(y))
+ )
[1] -0.04848

最佳答案

你可以这样定义你自己的函数:

my.cov <- function(y,h){
y.bar <- mean(y)
T <- length(y)
(1/T) * sum((y[(h+1):T] - y.bar) * (y[1:(T-h)] -y.bar))
}
#Checking the function
> y <- c(6.7, 5.3, 3.3, 6.7, 3.3, 4.7, 4.7, 6.7, 3.3, 6.7)
> my.cov(y, h=3)
[1] -0.04848

请注意,不涉及 for 循环,因为 * 是矢量化运算符。

关于向量上的 R 重复数学方程式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611197/

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