문제

가질 수있는 방법이 있습니까? R 장치 (Postscript가 좋을 것입니다) 출력을 파일 대신 변수로 작성합니까?

예를 들어 나는 이것을 알고있다 :

postscript(file="|cat")
plot(1:10)
dev.off()

PostScript 텍스트를 보내드립니다 STDOUT. 해당 텍스트를 어떻게 내면의 변수로 가져올 수 있습니까? R?

도움이 되었습니까?

해결책

나는 줄거리의 이진을 문자열로서 r 변수로 얻는 데 성공했습니다. 읽기/쓰기 오버 헤드가 있습니다. 아래 스 니펫에서 R은 플롯을 임시 파일로 저장하고 다시 읽습니다.

## create a plot
x <- rnorm(100,0,1)
hist(x, col="light blue")

## save plot as temp file
png(filename="temp.png", width=500, height=500)
print(p)
dev.off()

## read temp file as a binary string
plot_binary <- paste(readBin("temp.png", what="raw", n=1e6), collapse="")

어쩌면 이것은 당신에게 도움이 될 것입니다.

다른 팁

PostScript는 명령 인수를 취하므로 PostScript (file = "", command = "| cat")

왜 지구상에서 그렇게하고 싶습니까? R은 PostScript 파일을 조작하기위한 매우 좋은 시스템이 아닙니다. 다른 것이 없으면 tempfile ()을 사용하여 이미지를 파일에 쓸 수 있으며 표준 파일 함수를 사용하여 읽을 수 있습니다. 화려하고 싶다면 fifo () 파이프를 사용할 수 있지만 훨씬 더 빠를 것 같지는 않습니다. 그러나 나는 당신이 다른 접근법으로 더 나아질 것이라고 생각합니다.

다음과 같이 텍스트 연결을 사용할 수 있어야합니다.

tc <- textConnection("string", "w")

postscript(tc)
plot(1:10)
dev.off()

하지만 string 비어 있음 - 아마도 버그일까요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top