Я пытаюсь запустить цикл for, который поглощает как PDF, так и текстовый файл в отдельной папке. Код, который у меня есть, выглядит следующим образом.Как поместить цикл for в pdf и txt-файл.
library(MASS)
library(QuantPsyc)
rm(list=ls())
dat1<-read.csv("C:/Users/tmf/Desktop/Extract/Childsupdated_NewFiredata.csv")
stn<-unique(dat1$Station.x)
Sumdat<-as.data.frame(matrix(nrow=length(unique(stn)),ncol=18))
names(Sumdat)<-c("Lake Id","Intercept_Pvalue","Temp_Pvalue","Psum_Pvalue","PCT_Pvalue","DF","Multiple R2","Temp_VariableImp","Psum_VariableImp","Pct_VariableImp","Total_variableImp","ModelP_Value")
sink()
for (i in 1:length(stn)) {
dat2<-dat1[dat1$Station.x==stn[i],]
pdf(paste("C:/Users/tmf/Desktop/Extract/Outputs 17 Oct/PPT_Ha_Sum_100/",stn[i],".pdf",sep=""))
sink(paste("C:/Users/tmf/Desktop/Extract/Outputs 17 Oct/PPT_Ha_Sum_100/",stn[i],".txt",sep=""))
print(stn[i])
}
К сожалению, цикл остается открытым в конце или результатах в стеке раковины полной ошибки, я предполагаю, что это небольшая проблема, но я надеюсь, что кто-то может мне помочь в установлении ошибки контура или предложить более простой способ петли и утонуть.
Спасибо, Том
Что вы пытаясь достичь? Устройство 'pdf()' предназначено для графики ... И вы никогда не закрываете устройство 'pdf()' или не вызываете 'sink()' еще раз, чтобы закрыть утечку. Попробуйте задать вопрос, который несколько воспроизводится. Если вы просто пытаетесь разделить dat1 на станцию и вывести файл с разделителями, есть намного более простые способы. – oropendola
Внутри вашей петли, когда вы закончите запись в конкретный файл, вы должны запустить 'sink()', чтобы закрыть recirect sink и 'dev.off()', чтобы закрыть открытое графическое устройство PDF. Но, как сказал @oropendola, это странный способ сделать что-то. – MrFlick