일부를 정리할 수 있습니까? ReportPDF()로 전달할 개체의 구체적인 예를 들어주세요. 열을 선택하는 데이터 프레임 인 것처럼 보이기보다는 플롯 개체를 기대합니다. 재미 예를 들어 몇 가지 오류가 너무, 당신이 이것을 의미 했습니까?
ReportPDF<-function(x){
pdf(paste(names(x),"Myfile.pdf"))
tb<-table(x$acolumn)
print(tb)
dev.off()
}
lapply(mylist,ReportPDF)
나는 다른 정보를 얻을 때 이전과 비슷한 것을 한 것으로 믿고이 대답을 업데이트 할 수 있다고 생각합니다.
다음은 개체에 대한 몇 가지 가정 사항입니다. lmo가 제안하는대로 루프는 for
을 사용하지만 더 우아한 방법이 있어야한다고 생각합니다. 나는 for
루프를 사용하고 있습니다. lapply는 목록의 각 요소 내에서 객체를 전달하기 때문에 목록의 요소 이름에 대한 참조가 없으므로 파일을 개별적으로 이름 지정해야합니다. 예제에서 코드를 깨는 부분의 일부인 mylist[i]
과 mylist[[i]]
을 호출하는 것과 다른 점에 유의하십시오. 코드에서 names(x)
은 mylist 안에있는 x의 이름이 아니라 x 내의 열 이름을 얻습니다. 이는 원하는 것입니다.
x <- data.frame(acolumn = rnorm(10))
q<- data.frame(acolumn = rnorm(10))
mylist <- list(a = x,b = q)
for(i in seq_along(mylist)){
filename <- paste(names(mylist[i]),'-myFile.pdf', sep = "")
pdf(filename)
plot(myList[[i]]$acolumn)
dev.off()
}
끝에 함수에'dev.off()'를 추가해보십시오. – ytk
@ytk. 내가 그거 했어. –
비록 같은 for 루프를 사용하고'pdf'와'dev.off'에있는 루프를 감싸서 하나의 파일을 얻거나 루프 안에 넣어 여러 개의 파일을 얻을 수 있습니다. – lmo