2014-10-21 3 views
0

pdf와 텍스트 파일을 별도의 폴더에 저장하는 for 루프를 실행하려고합니다. 내가 가지고있는 코드는 이렇게 보입니다.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]) 
} 

불행하게도, 루프 싱크 스택 전체 오류의 끝이나 결과에서 열려, 나는 그것이 사소한 문제가 있으리라 믿고있어하지만 난 누군가가 루프의 오류를 수정 나를 도와 또는 제안 할 수 바라고 있어요 루프와 싱크를하는 더 간단한 방법.

감사합니다, 나는 방금 당신은 다음과 같이 적용 할 수 있습니다, 각각의 'Station.x'에 대한 출력을 별도의 파일하려는 경우 주석으로 톰

+1

을 달성하려고? 'pdf()'장치는 그래픽을위한 장치입니다 ... 그리고'pdf()'장치를 닫거나'sink()'를 다시 호출해서 전환을 닫지 마십시오. 다소 재현 가능한 질문을 시도하십시오. 방송국별로 데이터 1을 분할하고 구분 된 파일을 출력하려는 ​​경우 훨씬 쉬운 방법이 있습니다. – oropendola

+0

루프 내에서 특정 파일에 대한 쓰기가 끝나면 싱크 방향을 바꾸려면'sink()'를, 열려있는 PDF 그래픽 장치를 닫으려면'dev.off()'를 실행해야합니다. 그러나 @oropendola가 언급했듯이 이것은 일을하는 이상한 방법입니다. – MrFlick

답변

0

: 당신이 무엇

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