JMP encontrar RHola,
Mucho una pregunta de principiante aquí. Me gusta usar JMP y tengo algunos datos en R que me gustaría importar a JMP. Estoy tratando de usar la interfaz JMP-to-R (escritura de secuencias de comandos por primera vez en JMP), y realmente no sé lo que estoy haciendo. Sin embargo, cuando ejecuto el siguiente script JSL, no sucede nada;
test1 = Get R(test1);
Estoy seguro de que hay mucho más que esto, pero realmente no sé cómo proceder. Si tiene algunas sugerencias sobre cómo empiezo a extraer datos de R a JMP, ¡me encantaría escucharlas! Estoy en una PC que acaba de actualizarse a Windows 10, así que algo que estaba pensando (pero no tengo idea de si es así) es que JMP no puede encontrar la ubicación de mi instalación de R. Nuevamente, esta es mi primera incursión en las secuencias de comandos JSL, por lo que probablemente sea una pregunta para principiantes, pero no estoy muy seguro de lo que estoy haciendo aquí. ¡Gracias!
Re: JMP encontrar RHablé con JMP Support sobre este tema; desafortunadamente, un usuario no puede extraer un marco de datos de R a JMP de la forma en que estaba preguntando. Desde el soporte de JMP:
JMP does not interact with R in this manner. When JMP initializes R, it starts a new session (environment). That session is completely isolated from R meaning, if you were to start a new R session, JMP would not recognize any of the environment variables (global or local). This is why your R data frame is unknown to JMP.
Hay algunas formas de extraer datos de R a JMP, pero esencialmente todas requieren que el marco de datos en R se "cree" ejecutando un script a través del cuadro de diálogo Scripting de JMP. He estado haciendo la opción n. ° 3 (hacer que R escriba el marco de datos en un archivo csv y luego abrir el archivo csv con JMP), pero la opción n. ° 2 es intrigante. Cuando lo intenté, lamentablemente me quedé sin memoria en mi computadora, por lo que puede que no sea una opción viable para marcos de datos extremadamente grandes. Estas fueron las sugerencias de JMP Support:
1. Use JMP's R Submit () to create the data frame. The use R Submit () and R Get () to bring the data frame into JMP. This is probably the mostly commonly used approach.
2. Use JMP's R Submit () to load the data frame via R and bring it back to JMP.
3. Lastly, you can also save the data frame from R as a CSV and open it in JMP using JSL's open function.
Re: JMP encontrar RPor favor, publique su respuesta aquí. ¡Nuevo territorio!
Re: JMP encontrar R¡Gracias por probar esto de tu lado, Mark! Me pondré en contacto con el soporte técnico para ver qué tienen que decir al respecto.
Re: JMP encontrar RIntenté usar una conexión pero no me fue mejor.
Nunca antes me había encontrado con esta situación. Siempre he enviado lo que necesito a R, ejecuto scripts de R, devuelvo lo que quiero y sigo adelante en JMP.
No estoy convencido de que no sea posible. Le recomiendo que se comunique con el soporte técnico de JMP (support@jmp.com) y solicite ayuda.
Re: JMP encontrar RHmm, ¿tal vez lo que quería hacer no funcione en este caso?
Tenía un marco de datos que ya estaba en R Global Environment (yo/otras personas habían trabajado en él en R) y quería incorporarlo a JMP. Sin embargo, según entiendo nuestra conversación, necesitaría ejecutar todo el script R en el cuadro de diálogo JMP Script para que JMP "vea" el marco de datos. ¿Es esto correcto?
O tal vez hay otro paso que me he perdido aquí. Si ya he creado un marco de datos en R (y ahora está en el entorno global de R), aún no es visible para JMP. Pero, ¿puede volverse visible para JMP? En R, he ejecutado el siguiente comando:
test1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))Así que ahora "test1" está en R Global Environment. ¿Pero por alguna razón JMP todavía no puede "verlo"? ¿Tal vez hay algo que pueda hacer para que este marco de datos sea visible para JMP sin tener que volver a ejecutar el script R a través del cuadro de diálogo JMP Script?
Re: JMP encontrar R¿Cómo se crea el marco de datos en R? ¿Por qué crees que existe en R cuando JMP se conecta a él?
Re: JMP encontrar RSí, creo que debe enviar el código R para que el marco de datos esté activo en la sesión durante la conexión con JMP. Este ejemplo crea un marco de datos 'desde cero' y lo almacena en la variable d. La llamada R Get() puede solicitarlo porque ahora existe en el espacio de trabajo de R. También puede abrir un archivo u obtener un marco de datos como resultado del modelado en otros casos, por ejemplo. El marco de datos no existe en R a menos que envíe un código para hacerlo de una forma u otra.
Names Default to Here( 1 );
R Init();
R Submit(
"L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))"
);
dt = R Get( d ) << New Data View;
R Term();Re: JMP encontrar RHmm, ¿tal vez mi data.frame en R no está disponible para que JMP acceda? Aunque no estoy seguro de por qué. Cuando ejecuté un script de ejemplo de JMP, pude acceder a un marco de datos.
R Init();
R Submit(
"
L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))
"
);
R Get( d ) << NewDataView;
R Term();
Sin embargo, cuando creo un marco de datos en R, parece que JMP no puede acceder a él. Mi script R es el siguiente:
prueba1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))
El marco de datos resultante se almacena en el "Entorno global" de R, pero cuando intento acceder a él con R Get (test1), parece que no lo reconoce.
Re: JMP encontrar REs posible que deba ejecutar un script R para asegurarse de que el marco de datos esté disponible cuando llame a R Get(). El código de ejemplo para R Get() abre una tabla de datos JMP llamada Big Class, la envía a R y luego la devuelve a JMP. Enviarlo a R lo convirtió en un marco de datos activo. ¿Qué estás haciendo para que el marco de datos esté activo en R?
Aquí hay otro ejemplo que podría ayudar, donde se ejecuta un script R desde JMP.
Names Default To Here( 1 );
R Init();
R Submit(
"x <- rnorm(1000)
hx <- hist(x, breaks=100, plot=FALSE)
plot(hx, col=ifelse(abs(hx$breaks) < 1.669, 4, 2))
x <- rnorm (100)
y <- x**2 + rnorm (100)
summary(y)"
);
Wait( 3 );
R Term();
Es posible que necesite algo como este ejemplo para asegurarse de que el marco de datos R esté disponible.
Re: JMP encontrar RAquí hay un breve ejemplo de Ayuda > Índice de secuencias de comandos que podría ayudarlo a comenzar:
Names Default to Here( 1 );
R Init();
x1 = [1, 2, 3];
R Send( x1 );
x2 = R Get( x1 );
Show( x1, x2 );
R Term();
Podría haberte puesto en la dirección equivocada con R Conectar() .
Re: JMP encontrar R¿Qué almacenó en la variable nombrada prueba1 ?
Re: JMP encontrar RGracias por sus sugerencias, Mark y Jim. Eché un vistazo a la Guía de secuencias de comandos nuevamente y, desafortunadamente, todavía estoy confundido. Ejecuté la secuencia de comandos "Prueba tu configuración" que proporcionan en la Guía de secuencias de comandos, y parece funcionar bien (por lo que mi preocupación de que JMP no pudo encontrar R parece infundada). Sin embargo, cuando trato de ejecutar el siguiente script para extraer un marco de datos de prueba del entorno R (al que llamé "test1")...
R Connect();
test1 = R Get(test1);
Obtengo el siguiente resultado del registro:
TKIntRJMP.R versión 5.05
Advertencia: error en eval (expr, p): objeto 'test1' no encontrado
Desconocido
No estoy muy seguro de cómo solucionar este problema. No pude encontrar una solución en la Guía de secuencias de comandos para este problema. ¿Quizás mi comprensión de esto es incorrecta? Según entendí, el comando R Get() extraería algún objeto de R y lo devolvería en JMP. Entonces, si tuviera un marco de datos creado en el entorno R, se incorporaría a JMP como una tabla de datos.
¡Gracias por su consejo!
Re: JMP encontrar REstoy de acuerdo con Jim. Hay mucha información en la documentación que le ahorrará mucha confusión y pérdida de tiempo. Muchos de los ejemplos proporcionan un buen punto de partida para sus propios scripts.
Dicho esto, usar R con JMP no es difícil. Primero debe llamar al R Conectar() función para iniciar R y establecer una conexión. Las otras funciones de R, como R Obtener() , luego trabaje a través de esta conexión.
Re: JMP encontrar RLo primero que debe hacer es leer la sección "Trabajar con R" en la sección de la Guía de secuencias de comandos, Ampliación de JMP
Ayuda==>Libros==>Guía de secuencias de comandos