R:xts 的并行计算文件和向量

问题描述

我想在 .xts(带有一列的 ETRp)和向量之间创建此并行计算的循环。期待带有附加列的结果。

xts 文件是 ETRp

head(ETRp)
                     ETR[mm/day]
2020-11-01 00:00:00 0.007515922
2020-11-01 00:01:00 0.002171158
2020-11-01 00:02:00 0.005164759
2020-11-01 00:03:00 0.00495627

例如向量是:

SCF= c(1,2,3)
Ab= c(1,3)

我想应用的公式是这个。

EIp<- SCF*Ab*ETRp

所以尝试手动进行并行计算:

EIp<-SCF[1]*Ab[1]*ETRp
names(EIp)[1] <-"F1_1"

EIp$"F1_2"<-SCF[2]*Ab[2]*ETRp
EIp[,2]<-SCF[2]*Ab[2]*ETRp
EIp$"F1_3"<-SCF[3]*Ab[3]*ETRp
head(EIp)
                        F1_1        F1_2        F1_3
2020-11-01 00:00:00 0.007515922 0.007730099 0.010083984
2020-11-01 00:01:00 0.002111002 0.002171158 0.002832295
2020-11-01 00:02:00 0.003849464 0.003959160 0.005164759
2020-11-01 00:03:00 0.004956272 0.005097508 0.006649745
2020-11-01 00:04:00 0.006465297 0.006649535 0.008674379
2020-11-01 00:05:00 0.006972469 0.007171160 0.009354842

但是这样很费时间,

期待额外列的结果, 我尝试使用 FOR 循环,(下)

for(i in 1:3){
EIp[,i]<-SCF[i]*Ab[i]*ETRp
head(EIp)
                    ETR[mm/day]
2020-11-01 00:00:00 0.007515922
2020-11-01 00:01:00 0.002171158
2020-11-01 00:02:00 0.005164759
2020-11-01 00:03:00 0.004956272
2020-11-01 00:04:00 0.006649535
2020-11-01 00:05:00 0.009354842

但结果只显示一列。

简而言之,

这就是我想要的循环

                        F1_1        F1_2        F1_3
2020-11-01 00:00:00 0.007515922 0.007730099 0.010083984
2020-11-01 00:01:00 0.002111002 0.002171158 0.002832295
2020-11-01 00:02:00 0.003849464 0.003959160 0.005164759
2020-11-01 00:03:00 0.004956272 0.005097508 0.006649745
2020-11-01 00:04:00 0.006465297 0.006649535 0.008674379
2020-11-01 00:05:00 0.006972469 0.007171160 0.009354842

但是,这就是我得到的

head(EIp)
                    ETR[mm/day]
2020-11-01 00:00:00 0.007515922
2020-11-01 00:01:00 0.002171158
2020-11-01 00:02:00 0.005164759
2020-11-01 00:03:00 0.004956272
2020-11-01 00:04:00 0.006649535
2020-11-01 00:05:00 0.009354842

为什么我的结果中只有一列?

如何获得预期结果(1 列 XTS 和具有 3 个元素的向量)? 我希望它是 3 列(带有附加列) 你能帮我做这个 XTS 和向量计算吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)