2014-06-18 2 views
0

대답 https://stackoverflow.com/a/12372998/3513286은 R의 meta 패키지로 만든 포리스트 음모에 제목을 추가하는 방법을 보여줍니다. 그러나 고정 좌표계에서는 그렇게합니다. 포레스트 플롯에 상대적으로 타이틀을 배치하고 싶습니다. 그 중 몇 개를 플롯하고 싶기 때문에 다른 수의 행을 갖기 때문에 고정 좌표로 타이틀과 플롯 간의 갭이 모든 플롯에서 동일하지 않을 것입니다.포리스트 음모 위의 제목 위치 지정 (R-meta 패키지)

충분한 평판을 얻으려면 언급 된 답변에 대한 의견을 물어볼 수 있습니다. 누군가 그것을 거기로 옮길 수 있다면 그것은 좋을 것입니다.

편집 : 줄거리와 제목 사이의 공간을 많이 대 거의없는 두 플롯 : 아무도으로

library(meta) 
data(Fleiss93cont) 

# little space: 
forest(metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, 
    data=rbind(Fleiss93cont, Fleiss93cont), sm="SMD")) 
grid.text("Title", .5, .75, gp=gpar(cex=2)) 

# a lot of space: 
forest(metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, 
    data=Fleiss93cont[1:2,], sm="SMD")) 
grid.text("Title", .5, .75, gp=gpar(cex=2)) 
+0

질문은 독립 실행 형으로 더 적합합니다. –

답변

0

다른 여기, 내 현재 해결 방법을 대답했다. 이것은 비 R 프로그램을 많이 사용하기 때문에 분명히 좋은 대답은 아니지만 아무것도없는 것보다 낫습니다. 여기

, 나는 원래 높이의 비율 상단 국경에서 볼을 잘라, 다시 R에 identify의 출력을 읽고, PNG 포맷으로 변환 할 convertpdftoppm를 사용하여 PDF로 그래픽을 내보내 흰색이 아닌 부분이 있습니다. 1.1을 곱한이 수치는 나에게 꽤 좋은 결과를 주었다.

library(meta) 
data(Fleiss93cont) 

height <- function() { 
    dev.copy2pdf(file="tmp.pdf", width=12, height=6) 
    system("pdftoppm -png -r 72 tmp.pdf > tmp.png") 
    system("convert tmp.png -trim tmp.png") 
    system2("identify", "tmp.png", stdout="tmp") 
    tmp <- as.character(read.table("tmp")$V4) 
    tmp <- as.numeric(unlist(strsplit(tmp, "[x+]"))) 
    system("rm tmp tmp.pdf tmp.png") 
    return(1-tmp[4]/tmp[2]) 
} 

# longer table: 
forest(metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, 
    data=rbind(Fleiss93cont, Fleiss93cont), sm="SMD")) 
h <- height(); print(h) 
grid.text("Title", .5, 1.1*h, gp=gpar(cex=2)) 
dev.copy2pdf(file="tmp_1.pdf", width=12, height=6) 

# shorter table: 
forest(metacont(n.e, mean.e, sd.e, n.c, mean.c, sd.c, 
    data=Fleiss93cont[1:2,], sm="SMD")) 
h <- height(); print(h) 
grid.text("Title", .5, 1.1*h, gp=gpar(cex=2)) 
dev.copy2pdf(file="tmp_2.pdf", width=12, height=6) 

아마도 좋은 해결책은 그리드 패키지 및/또는 포리스트 기능에 대한 지식이 필요합니다.