R 在函数参数连续变化的情况下,将函数应用于数据帧中的列的最佳方法是什么?
我在R中使用quantmod获取“QQQ”ETF的价格历史记录。我想计算1:n周期的变化率 我可以使用ROC()完成这项工作,并且可以成功地创建xts的列并为其命名。我只是把它看作是时间密集型的——我知道有更好的方法来做到这一点R 在函数参数连续变化的情况下,将函数应用于数据帧中的列的最佳方法是什么?,r,quantmod,R,Quantmod,我在R中使用quantmod获取“QQQ”ETF的价格历史记录。我想计算1:n周期的变化率 我可以使用ROC()完成这项工作,并且可以成功地创建xts的列并为其命名。我只是把它看作是时间密集型的——我知道有更好的方法来做到这一点 library(quantmod) getSymbols("QQQ") QQQ <- QQQ$QQQ.Close View(QQQ) QQQ <- `colnames<-`(QQQ,"close") QQQ$ROC1 <- ROC(x = Q
library(quantmod)
getSymbols("QQQ")
QQQ <- QQQ$QQQ.Close
View(QQQ)
QQQ <- `colnames<-`(QQQ,"close")
QQQ$ROC1 <- ROC(x = QQQ[,1],n = 1)
QQQ$ROC2 <- ROC(x = QQQ[,1], n = 2)
QQQ$ROC3 <- ROC(x = QQQ[,1], n = 3)
库(quantmod)
getSymbols(“QQQ”)
QQQ您可以使用parallel
包中的mclappy()
来使用多个线程来加速任务:
库(并行)
图书馆(quantmod)
getSymbols(“QQQ”)
QQQ
n = 3
head(cbind(QQQ, setNames(do.call(cbind, lapply(1:n, function(i)
ROC(x = QQQ[,1], n = i))),
paste0("ROC", 1:n))))
# close ROC1 ROC2 ROC3
#2007-01-03 43.24 NA NA NA
#2007-01-04 44.06 0.018786325 NA NA
#2007-01-05 43.85 -0.004777691 0.014008634 NA
#2007-01-08 43.88 0.000683985 -0.004093706 0.014692619
#2007-01-09 44.10 0.005001079 0.005685064 0.000907373
#2007-01-10 44.62 0.011722429 0.016723508 0.017407493