问题描述
我想在 .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 (将#修改为@)