문제
가질 수있는 방법이 있습니까? 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
비어 있음 - 아마도 버그일까요?
제휴하지 않습니다 StackOverflow