首页 文章

如何将for循环插入pdf和txt文件 .

提问于
浏览
0

我正在尝试运行一个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 回答

  • 0

    正如我评论的那样,如果你只想为每个'Station.x'输出单独的文件,那么你可以调整这样的东西:

    data(iris)
    lapply(split(iris, iris$Species), 
    function(x) write.table(x, file = sprintf('%s.txt', unique(x$Species))))
    

相关问题