Как погрузить цикл в PDF и TXT-файл.
Я пытаюсь запустить цикл for, который помещает как PDF, так и текстовый файл в отдельную папку. Код у меня выглядит следующим образом.
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])
}
К сожалению, цикл остается открытым в конце или приводит к полной ошибке стека приемника, я предполагаю, что это незначительная проблема, но я надеюсь, что кто-то может помочь мне исправить ошибку цикла или предложить более простой способ зацикливания и поглощения,
Спасибо том
1 ответ
Как я прокомментировал, если вы просто пытаетесь выводить отдельные файлы для каждого "Station.x", то вы можете адаптировать что-то вроде этого:
data(iris)
lapply(split(iris, iris$Species),
function(x) write.table(x, file = sprintf('%s.txt', unique(x$Species))))