Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在函数参数连续变化的情况下,将函数应用于数据帧中的列的最佳方法是什么?_R_Quantmod - Fatal编程技术网

R 在函数参数连续变化的情况下,将函数应用于数据帧中的列的最佳方法是什么?

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

我在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 = 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