【发布时间】:2016-08-22 00:45:10
【问题描述】:
我正在阅读名为cleanequityreturns.csv 的.csv 文件,它看起来像这样:
它从 r1 到 r299,有 4,166 行。然后,以下代码为每一列创建一个新文件,使用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 文件?
【问题讨论】: