我有一个for循环,在其中我将结果打印在.txt文件中。但是,writeLines()仅适用于一定数量的迭代。此外,我在执行代码时收到以下警告:关闭未使用的连接。
Script <- function(solver=NULL, modelDirectory="/home/fernandafalves/Desktop/Tese/") {
library(rAMPL)
ampl <- new(AMPL)
if (!is.null(solver)) {
ampl$setOption("solver", solver)
}
ampl$read(paste(modelDirectory, "/Data_Simheuristic_CaseII.txt", sep=""))
for(scenario in 1:1){
for(value in 1:1){
for(variation in 1:3){
fileConn <- file("ResultSimheuristic_CaseII.txt", "a")
...
for(mm in 1:M){
for(l in 1:CARD[[mm]]){
Mean <- Expected_OF_BS[l,mm]
SD <- Standard_Deviation[l,mm]
Min <- Minimum[l,mm]
Max <- Maximum[l,mm]
prob <- signif(1 - pnorm(112,Mean,SD), digits = 3)
writeLines(c(paste("Machine:", mm), paste("Sequence Number:", l), paste("Mean:", Mean), paste("SD:", SD), paste("Minimum value:", Min), paste("Maximum value:", Max), paste("Probability:", prob), "\n"), fileConn)
}
}
close(fileConn)
}
}
}
}
在for循环的最后一次迭代中的.txt文件中,它只打印到行粘贴(“Minimum value:”,Min)。
我刚才读过有关writeLines()
的奇怪行为。这是R-bloggers Article。我想你可以使用write函数和append = TRUE
参数。
write(line, file = "filename", append=TRUE)