我有一个如下所示的设置
for(V in (seq(1, 250, by = 5))){
for(n in (seq(1, 250, by = 5))){
# 1) Working Algorithm creating a probability
ie. vector in range [0:1]
# 2) Take the natural log of this probability
a <- log(lag(Probability), base = exp(1))
# 3) calculate price differences
b <- abs(diff(Price) -1)
# 4) Then compute correlation between a and b
cor(a, b)
# 5) Here I'd like to save this in the corresponding index of matrix
}
}
这样我得到一个[V,n]大小的矩阵作为输出,从每个循环中收集 .
我有一些问题 .
-
第一个问题是我的相关性是不可计算的,因为
Probability
通常为0,在ln(Probability)
向量中创建ln(0) = -Inf
输入 . 有没有办法用-Inf
输入计算Ln
向量的std.dev
或cor
? -
我的第二个问题是如何将这种相关输出保存到为每个循环生成的矩阵中?
谢谢你的帮助 . 我希望这很清楚 .
2 回答
对于你的第二个问题(我的第二个问题是我如何将这个相关输出保存到为每个循环生成的矩阵中?),你可以在循环之前初始化一个矩阵并将每个计算的相关性存储在相应的索引中,如:
您可以使用-Inf替换为NA,例如:
并使用
na.rm
参数sd
: