2013-05-16 2 views
4

분류 트리에서 주로 범주 데이터로 사용되는 문제가 있습니다. 나는 partykit 패키지를 R로 사용하고 있는데, 이전의 대답으로는 party이 아니기 때문에 이전 패키지가 그래픽 출력을 조작하는 것이 더 낫다고 제안했다.partykit의 ctree 출력을 플로팅 할 때 노드 분할 문자열을 어떻게 지터합니까?

실제 데이터 세트에는 많은 노드 (약 7 개)가 없지만 일부 변수의 경우 몇 가지 요소 수준이 있으며 분할의 왼쪽과 요소 수준의 요인 수준이 발생합니다. 오른쪽은 서로 간섭하고 있습니다. 특히 요인 수준의 길이와 함께 요인 수준 목록의 가로 방향으로 인해 발생합니다.

MASS 패키지의 Aids2 데이터 세트를 사용하여 문제를 재현 할 수 있습니다. 이것은 말도 안되는 예이지만, 내가

library("partykit") 
SexTest <- ctree(sex ~ ., data=Aids2) 
plot(SexTest) 

를 해결하고자하는 행동은 노드 1의 노드 분할 정보를 보면, 당신은 내가 설명하고 동작을 볼 수 있습니다 생성에서

을 내 실제 데이터 프레임, 글꼴을 축소하면 읽을 수없는 4 포인트로 내려 간다.

문자열에 대한 텍스트 상자를 정의하고 텍스트를 줄 바꿈 할 수있는 방법이 있습니까? 해결책을 찾기 위해 pargpar을 조사했지만 성공하지 못했습니다. 적합 할 수있는 또 다른 옵션은 각 노드에 대한 요소 정보의 수직 위치를 비틀어서 서로 아래에 위치하도록하는 것입니다.

답변

2

흠. 나 거기 가봤 어. partykit 패키지의 내부를 수정하지 않고서는 특정 크기의 출력을 향상시킬 수있는 방법을 알지 못합니다. (자주 X 축 레이블이 다각형이있는 트리를 플로팅하는 막대 차트 출력에서 ​​너무 길어서 문제가 있습니다. 종속 변수).

추악한 해결 방법이지만, 트리에서 출력되는 항목을 확인하여 어떤 카테고리로 가는지 알 수 있으며 김프와 같은 것을 사용하여 파워 포인트/보고서/이미지의 이미지를 적절히 강조 표시 할 수 있습니다.

Model formula: 
sex ~ state + diag + death + status + T.categ + age 

Fitted party: 
[1] root 
| [2] T.categ in hs, hsid, haem, other 
| | [3] T.categ in hs, hsid, haem 
| | | [4] state in NSW, Other, VIC: M (n = 2386, err = 0.0%) 
| | | [5] state in QLD: M (n = 197, err = 0.5%) 
| | [6] T.categ in other: M (n = 70, err = 10.0%) 
| [7] T.categ in id, het, blood, mother: M (n = 190, err = 42.6%) 

Number of inner nodes: 3 
Number of terminal nodes: 4 

또한 더 큰 뭔가를 출력의 크기를 조정할 수는 PNG() 말할

png('tmp.png',width=1024,height=768) 
plot(SexTest) 
dev.off() 

larger resolution output from plot

0

종류의 수동의 목록을 분할하는 것입니다 작동 대안 관련 포인트. 새 줄에 "\ n": "haem \ n"을 포함시키려는 수준의 이름을 변경하여이 작업을 수행 할 수 있습니다. 이것은 라인이 부분적으로 요소 레벨과 겹치기 때문에 약간 추한 것처럼 보입니다.하지만 지금까지 발견 된 유일한 실제 작업입니다.