gpt4 book ai didi

r - 如何使用公式中其他列的单个值计算新列?

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

我有一个包含一列的数据框 X 看起来像这样:

    X
1 8
2 4
3 2
4 5
5 3
6 2
7 1
8 5

使用此列中的值我想创建一个新列 Z 使用以下公式计算新值:
enter image description here
例如,要计算 Z1,计算将如下所示:
enter image description here
Z1 的值为 0.005。

同样,Z2 的值为 -0.229,Z3 的值为 0.107。

我希望这个例子能说明我想为我的新 Z 列实现什么。
关于如何用 R 轻松解决这个问题的任何想法?也许在一个循环中?

感谢您提供任何提示!

最佳答案

也许以下计算出您想要的 - 至少它重现了您的前 3 个给定数字:

(y$Z <- sapply(seq_len(nrow(y)), function(k) {
i <- seq_len(nrow(y))
j <- seq_len(k)
sum((y$X[i[-j]-k]-mean(y$X))*(y$X[i[-j]]-mean(y$X))) / sum((y$X-mean(y$X))^2)
}))
#[1] 0.00528169 -0.22887324 0.10739437 0.07746479 -0.29049296 -0.32042254
#[7] 0.14964789 0.00000000

可以改进不一次又一次地计算相同的值。

数据:
y <- data.frame(X=c(8,4,2,5,3,2,1,5))

关于r - 如何使用公式中其他列的单个值计算新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57971957/

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