Как погрузить цикл в 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))))
Другие вопросы по тегам