-3
我读了.csv
文件名为cleanequityreturns.csv
它看起来像这样:r - 如何使这个循环更快?
它从r1
到r299
,有4166行。以下代码然后为每列创建一个新文件,使用approx_entropy
函数计算近似熵,并打印该值。我知道为每一列创建一个新文件非常繁琐,但我无法找到另一个来执行此操作。
equityreturn <- read.csv("cleanequityreturns.csv", header=T)
for(i in 1:299) {
file2 = paste(i, "equityret.csv", sep="")
file5 = paste("r", i, sep="")
file1 = subset(equityreturn, select=file5)
write.table(file1, file2, sep="\t", row.names=FALSE, col.names=FALSE)
file3 = paste("equity", i, sep="")
file3 = matrix(scan(file = file2), nrow=4166, byrow=TRUE)
print(approx_entropy(file3, edim = 4, r=0.441*sd(file3), elag = 1))
}
我的问题如下:代码执行这些任务需要很长时间。我试着运行它10列,花了大约20分钟,这在所有299列中转换大约10小时。此外,此代码打印每个近似的熵值,所以我仍然需要将它们复制并粘贴到Excel中以使用它们。
我怎样才能让这段代码更快运行并将输出写入.csv
文件?