Interfaz R en JMPHola,
Escribí un código en R que quiero ejecutar en JMP. Aquí está el código:
R init();
//send data to R
R Send(dt);
R submit("
library(spatstat)
#creation fenetre
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
ppp<-ppp(x=dt$XM,y=dt$YM,window=fenn)
print(quadratcount(ppp,nx=6,ny=3)
Q<-quadrat.test.ppp(ppp,nx=6,ny=3)
a<-cdf.test(ppp,'x')
D=0
if(a[[2]] & Q[[3]] < 0.1 ){
D=0}else {D=1}
Distribution=as.data.frame(rep(c(D),nrow(dt)))
class(Distribution)
print(a)
");
R term();
Luego, cuando lo ejecuto, tengo dos problemas:
En primer lugar tengo un error de estas líneas:
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
ppp<-ppp(x=dt$XM,y=dt$YM,window=fenn)
que dice:
Error: se llamó a la funciónboundingbox con 2 argumentos no reconocidos
Además: Mensaje de advertencia:
2 puntos fueron rechazados por estar fuera de la ventana especificada
De hecho, cuando cambio 40 a 0, funciona porque todos mis puntos están en mi ventana, pero cuando ejecuto el código en R, el hecho de que todos mis puntos no estén en la ventana no es un problema. Y si ejecuto el código anterior en R funciona. Entonces no entiendo por qué recibí un mensaje de advertencia en JMP pero no en R.
El segundo problema es cuando quiero exportar mis datos, JMP no quiere extraer mi marco de datos y no entiendo por qué. Yo uso este código:
ResidJMP = R Get(Distribution);
ResidJMP << New Data View;
R term();
De hecho, quiero devolver una tabla de datos en JMP y luego quiero usarla como la tabla de datos principal.
Tabla de datosOtrosecuencias de comandosventanasRe: Interfaz R en JMPHola,
Para un ejemplo básico,
R Init(); // Initiate R connection
dt = Open(“$SAMPLE_DATA/Big Class.jmp”,invisible);
R Send(dt);
la llamada de columna debe hacerse de la siguiente manera:
R Submit("
print(dt['weight'])
//b<-dt['weight']/dt['height']
");
en vez de
R Submit("
print(dt$weight)
//b<-dt['weight']/dt['height']
");
Creo que debería cambiar el resultado de su primer problema.
Re: Interfaz R en JMPCuando aplico esto a mis datos, dice que las columnas que usé no son numéricas, luego, cuando uso la función as.numeric (), dice: el objeto 'lista' no se puede obligar a escribir 'doble'. Este problema no apareció con la llamada $. Hay tantos problemas aquí lamentablemente
Re: Interfaz R en JMPPuede usar una tabla de datos JMP como marco de datos en R. La función R Send() convierte automáticamente una estructura de datos en otra. Aquí hay un ejemplo simple:
Names Default to Here( 1 );
// make sure JMP can find the desired installed version of R
Set Environment Variable( "R_HOME", "C:\Program Files\R\R-4.1.3" );
// use regression example from JMP Sample Data Folder
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// use standard linear model function with data frame
R Init( );
R Send( dt );
R Submit(
"fit <- lm( dt$weight~dt$height )
print( fit )"
);
R Term();
// examine results in Log
Entonces sospecho que hay un problema con el código R (argumentos de función) o la naturaleza de las variables en el marco de datos. Después de asegurarse de que su llamada de función sea correcta, intente imprimir la tabla de datos de R para ver si todo se transfirió como se esperaba.
Re: Interfaz R en JMPCuando uso este código en R
library(spatstat)
data<-read.("Results.csv")
#creation fenetre
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
#creation point pattern
ppp<-ppp(x=data$XM,y=data$YM,window=fenn)
plot(ppp)
summary(ppp)
#test quadrat
quadratcount(ppp,nx=6,ny=3)
Q<-quadrat.test.ppp(ppp,nx=6,ny=3)
paste("Ma pvalue du quadrat test ", format(Q[[3]], scientific=TRUE, digits=3))
#test ks
a<-kstest(ppp,'x')
paste("Ma pvalue du KS test ", format(a[[2]], scientific=TRUE, digits=3))
D=character()
if(a[[2]] & Q[[3]] < 0.1 ){
D="Distribution Non-Uniforme"}else {D="Distribution Uniforme"}
Distribution<-rep(c(D),length(XM))
dt<-cbind(dt,Distribution)
funciona bien De hecho, funciona bien en JMP si uso esta ventana:
fenn<-owin(xrange=c(0,760), yrange=c(0,160), poly=NULL, mask=NULL, units=NULL)
Como todos mis puntos (x,y) están en la ventana, el problema sale cuando pongo la ventana que quiero. Pero en R no hay problema de ventana.
Pero si hay un problema con las variables no debería funcionar con otra ventana y esto es lo que no entiendo.
Quizás hay algo que no entiendo en tu comentario pero no encuentro cual puede ser el error. Cuando lo imprimo en JMP desde RI, tengo un buen marco de datos. Estoy perdido seguro
Re: Interfaz R en JMPIntento usar la función R Enviar archivo () para poder usar exactamente el mismo código. Pero tengo el mismo error en el código jmp que no tengo en R. Este es el error que necesito resolver. Intento tantas cosas y tampoco entiendo por qué aparece.
Error: Function boundingbox called with 2 unrecognised arguments