2016-03-17 1 views
1

J'ai un fichier .R très simple:Comment conserver un tracé RGL sur l'écran lors de l'utilisation de Rscript?

library("rgl") 
par(ask=TRUE) 

x=c(0.44,0.45) 
y=c(0.2, 0.3) 
z=matrix(c(1,2,3,4),nrow=length(x)) 

persp3d(x,y,z) 

Quand j'ouvre un écran cmd et accédez à mon installation de R et essayer

Rscript P:\pathtoscript\example.r 

Je vois le vraiment flash graphique persp3d rapidement et disparaît, même si mon fichier .r contient la commande par(ask=true). Donc, ma question est, comment puis-je continuer et jouer avec, sans que ça disparaisse avant que j'ai terminé?

Merci pour votre aide.

Répondre

1

Je ne suis pas au courant d'une façon plus idiomatique de faire ce genre de chose, mais vous pouvez simplement ajouter Sys.sleep(large_number_of_seconds) pour garder le processus R vivant. Par exemple,

script.R

library("rgl") 

x <- c(0.44, 0.45) 
y <- c(0.2, 0.3) 
z <- matrix(c(1,2,3,4),nrow = length(x)) 

persp3d(x,y,z) 
Sys.sleep(100000) 

En outre, l'argument ask-par est utilisé uniquement dans des sessions interactives, ce qui explique pourquoi il ne fonctionnait pas ici.