2017-12-12 10 views
1

일부 회귀 트리 모델을 구축하고 있습니다. 이제 모든 것을 완료했습니다. 이제는 pdf 파일에 트리를 작성하려고합니다. 아래 명령을 사용하여 생성하고 있습니다.Rpart의 PDF 파일에 대한 결과 R

pdf(file=paste0("Plots1.pdf"), header= "Rpart Outcome") 
lapply(names(tree.2), function(x)fancyRpartPlot(tree.2[[x]])) 
dev.off() 

tree.2 객체는 rpart의 8 개 모델을 포함하고이를 목록으로 저장됩니다.

위의 명령은 매력처럼 작동하지만 문제는 목록 tree.2 (names(tree.2))의 이름에 따라 PDF의 모든 페이지 상단에 별도의 머리글이 필요하다는 것입니다. 다른 순열을 많이 사용했으며 하지만 lapply을 통해 해결할 수는 없습니다. 그러나 for loop을 사용하면 위의 작업을 수행 할 수 있습니다. 이 작업을 수행하려면 lapply을 사용하고 싶습니다. 가능합니까? 나는 알고 있지만, 지금은 할 수 없습니다. 여기 사용

라이브러리 : rattle, rpart

장난감 예 : 여기

tree1 <- rpart(as.formula(mpg ~ hp + wt), data=mtcars) 
tree2 <- rpart(as.formula(mpg ~ am + hp), data=mtcars) 
treex <- list("tree1"= tree1, "tree2"=tree2) 

pdf(file="file.pdf", header="Rpart Outcome") 
lapply(names(treex), function(x)fancyRpartPlot(treex[[x]])) 
dev.off() 

, 나는 모든 페이지 단위 이름 (treex)에 헤더를 원한다.

중복 된 질문 (하나도 찾지 못했습니다)이있는 경우 즉시 알려주십시오.

감사

이 나를 위해 작동하는 것 같다

답변

2

는 :

library(rpart) 
    library(rattle) 

    tree1 <- rpart(as.formula(mpg ~ hp + wt), data=mtcars) 
    tree2 <- rpart(as.formula(mpg ~ am + hp), data=mtcars) 
    treex <- list("tree1"= tree1, "tree2"=tree2) 

    pdf(file="file.pdf")#, header="Rpart Outcome") 
    lapply(names(treex), function(x)fancyRpartPlot(treex[[x]], main = x)) 
    dev.off() 

난 그냥 플롯의 이름을 소요 fancyRpartPlot에 인수 main을 추가했습니다.

희망이 있습니다.

+0

감사합니다. 그것은 깔끔했으며, 나는 바보가 '딸랑이'의 문서를 보았어 야한다고 느낍니다. – PKumar