Cómo crear una aplicación usando las funciones R<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos,
Estaría muy agradecido por cualquier ayuda, ya que soy nuevo en JMP, ¡estoy luchando un poco!
Me gustaría crear una herramienta (¿sería eso un complemento?) En JMP (que luego podrían usar otras personas con las que necesito trabajar) a partir de las funciones que he escrito en R-code.
¿Es eso posible? He leído que lo es, pero ni siquiera sé por dónde empezar.
Necesito esta herramienta para pedirle al usuario que coloque 3 rutas de archivo y permita que las funciones R las usen.
Gracias por tu ayuda
Re: Cómo crear una aplicación usando las funciones RAl final, utilicé el generador de complementos (al final de la página 14 en el Boletín informativo de JMPer Cable) que parece haber funcionado bastante bien y fue muy fácil de hacer.
Re: Cómo crear una aplicación usando las funciones RPor supuesto, podría ser simplemente que por el momento solo tengo la versión de prueba de JMP 10 ...
Tendré el final de la próxima semana, así que intentaré nuevamente.
Re: Cómo crear una aplicación usando las funciones REstoy atascado en el paso 3, nada parece estar pasando ...
Debo estar haciendo algo mal:
Abrí un nuevo guión y escribí
RegistrarseAddin
"com.myCompany.myAddin",
"C: / Users /.../ Desktop / myAddinFolder"
);
y cuando lo corro no pasa nada,
¿Supongo que se supone que algo suceda para que luego pueda continuar con el paso 4?
Muchas gracias por toda tu ayuda
Re: Cómo crear una aplicación usando las funciones RPágina 14 de una reciente portada de JMPer Cable que hace complementos
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf
Creo que las instrucciones en el cable pueden ser un poco mejores de lo que se me ocurrió. Los he seguido hasta la letra para crear complementos que cualquier persona de mi organización pueda instalar sin tener que tener ningún disco asignado o algo así.
Una cosa que hago además de las instrucciones en el Cable es que una vez que he registrado el complemento y estoy personalizando mi menú / barras de herramientas, presiono el botón "Cambiar" en la parte superior y selecciono el complemento que estoy realizando actualmente. un menú / barra de herramientas para y guarda la personalización en la carpeta de trabajo.
Espero que esto ayude.
Re: Cómo crear una aplicación usando las funciones RTengo las cosas funcionando, no exactamente como quiero todavía, pero de todos modos un primer borrador decente.
¿Crees que podrías mostrarme cómo crear una herramienta desde el script ("el botón en la barra de herramientas")?
¡Gracias!
Re: Cómo crear una aplicación usando las funciones RSí, eso funciona perfectamente. ¡Gracias!
Re: Cómo crear una aplicación usando las funciones RSi los nombres = {{"t1", "t2"}}; intente los nombres [1]: debe anidar la lista dentro de la lista.
Re: Cómo crear una aplicación usando las funciones ROk, entonces el problema parece ser que en mi script hay dos "{" en lugar de uno ...
Acabo de probar Nombres = {"t1", "t2"} y Nombres = {{"t1", "t2"}}
Así que tendré que tratar de encontrar una manera de arreglar eso.
¡Lo siento por eso!
Re: Cómo crear una aplicación usando las funciones RFunciona perfectamente con los nombres = {"test1", "test2", "test3"};
Pero cuando me coloco sobre Nombres en mi script, me muestra:
Los nombres
{{"V1", "V2",
...............
Tomé eso para decir que sí contenía la lista, y Pruebas es una lista en R (incluso he agregado la línea Pruebas <-as.list (Pruebas) para estar seguro).
¿Es tal vez que hay demasiados elementos? Aunque sí puse parámetros para agrandar la ventana, pero eso no pareció hacer ninguna diferencia.
Aparte de eso, realmente no sé qué estoy haciendo mal, he estado trabajando durante horas ...
Re: Cómo crear una aplicación usando las funciones R¿Estás seguro de que los nombres contienen una lista?
Intente reemplazar la primera línea de código con Names = {"test1", "test2", "test3"};
Esto verificará que la parte JSL esté funcionando como usted desea, luego puede ver lo que viene de la función RGet
Re: Cómo crear una aplicación usando las funciones RGracias Dave
Decidí ir con List Box al final, ya que corresponde mejor a lo que necesito.
Así que ahora tengo esto:
Nombres = R Get (Pruebas);
nw = Nueva ventana ("Prueba", << Modal,
Cuadro de lista V (
Casilla de verificación (nombres, << ser seleccionado),
Cuadro de lista H (
Cuadro de botones ("Ok", tname = Names << obtiene texto; cancel = -1;),
Caja de botones ("Cancelar", cancelar = 1;)
)
)
);
if (cancel! = - 1, Stop (););
Pero por alguna razón, en mi ventana solo tengo el primer elemento de la lista "Nombres", ¿alguna idea de por qué puede ser eso? He comprobado Nombres y contiene todos los treinta elementos que he puesto en él, así que realmente no entiendo por qué sucede esto ...
Re: Cómo crear una aplicación usando las funciones RLa función de cuadro de lista V recibe uno o más cuadros de visualización, cada uno separado por comas. Así que en la línea de la casilla de verificación reemplace el punto y coma (;) con una coma (,).
-Dave
Re: Cómo crear una aplicación usando las funciones RGracias,
Eso está muy bien hecho, y muy útil!
Sin embargo, tengo un problema y parece que no puedo encontrar la respuesta en ningún lado.
Tengo una lista de nombres y me gustaría crear una nueva ventana en la que el usuario pueda elegir un nombre.
Intenté esto:
Nombres = R Get (Pruebas);
nw = Nueva ventana ("Prueba", << Modal,
Cuadro de lista V (
Casilla de verificación (Nombres);
Cuadro de lista H (
Cuadro de botones ("Ok", tname = Names << obtiene texto; cancel = -1;),
Caja de botones ("Cancelar", cancelar = 1;)
)
)
);
if (cancel! = - 1, Stop (););
Sé que debo estar haciendo algo mal aquí, pero no puedo entender qué ...
Esperaba ver una ventana con una lista de casillas de verificación y luego "Aceptar" y "Cancelar" debajo, pero todo lo que tengo es "Aceptar" y "Cancelar".
Estaría extremadamente agradecido por cualquier ayuda.
Re: Cómo crear una aplicación usando las funciones RPuede encontrar algunas cosas útiles aquí
http://www.pega-analytics.co.uk/learning-zone/jmp-r-integration/
Re: Cómo crear una aplicación usando las funciones RWhoops! mewing@eastman.com
Re: Cómo crear una aplicación usando las funciones RAparece como ...
El mío está allí si me envías un correo electrónico en blanco, entonces puedo enviarte el código
Re: Cómo crear una aplicación usando las funciones RAbsolutamente, si pasas por encima de mi nombre, deberías ver mi dirección de correo electrónico.
Re: Cómo crear una aplicación usando las funciones RGracias, estoy empezando a tener la idea.
Mi script R se compone de 3 funciones,
-read_table (archivo, n)
-Summary_Table (archivo1, archivo2, archivo3, n)
-Test_tables (archivo1, archivo2, archivo3, n, t)
Ahora veo cómo obtener n y t, pero cómo obtengo los diferentes archivos (los archivos son los que el usuario eligió de antemano; utilicé path = Pick File ("¿Qué archivo desea?"); Como sugirió) ?
¿Puedo enviarte el R-script por correo electrónico para que puedas tener una mejor idea de lo que estoy tratando de hacer?
Re: Cómo crear una aplicación usando las funciones RSus preguntas no son ridículas, todos fueron nuevos una vez (excepto las personas que lo inventaron).
Digamos que has escrito una función en R como la siguiente:
r6 <- 0
k <- 6
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
Esto es solo una secuencia de comandos que estima la probabilidad de obtener seis puntos en una fila, todo en aumento o disminución a partir de una distribución normal aleatoria (0,1) (se relaciona con algunas cosas que estoy haciendo ahora, por eso lo estoy usando) . Digamos que quería permitir que un usuario cambie el valor de 'k' para esta regla de 6 a cualquier cosa de su elección. Hay un par de maneras en que podría abordar esto, pero solo mostraré una que usa todas las herramientas anteriores.
Primero, tengo una ventana de diálogo que solicita al usuario el valor:
nw = New Window("Value for k?",<
kval = k << Get();
Ahora envío ese valor a R:
rconn << Send(kval,R Name("k");
Ahora, en mi sesión R (que es invisible para el usuario) hay una variable llamada 'k' con cualquier valor que haya especificado el usuario en el cuadro de diálogo.
Ahora quiero ejecutar mi código:
rconn << Submit("
r6 <- 0
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
");
Tenga en cuenta que eliminé el k <6 de like de mi código porque ya le he enviado esa información a R. Ahora, el último paso es que quiero que el porcentaje esté fuera de control, así que:
percentOOC = R Get(perc.ooc);
Ahora puedo mostrar esta información en una nueva ventana:
nw = New Window("Results",Show Menu(0),Show Toolbars(0),Text Box("Percent out of control is " || Char(percentOOC) || "%"));
Ahora, todo esto se almacena en el archivo de script JSL, por lo que no es necesario que se abra una ventana de script R.
Si todavía tienes problemas, ¿puedes publicar el script R (ya sea aquí o PM yo, puedo ayudarte a armarlo)?
En cuanto a agregarlo como un botón, eso es bastante fácil, pero publicaré cómo hacerlo después de que tengamos su script funcionando.
Re: Cómo crear una aplicación usando las funciones R¡Gracias por tu ayuda!
Sin embargo, todavía tengo un par de problemas, ya que dije que soy muy nuevo en esto, así que puede que falte algo simple ...
Si uso esto:
rconn << Enviar ("name.in.R <-" || Char (JMPvariable));
rconn << Enviar ("
salida <- R.function (name.in.R)
suministro (salida, media)
");
¿Es "name.in.R" el nombre de la función que he escrito en R? Si es así, ¿significa que cada vez que quiera usar esta herramienta en JMP, también deberá abrirse una ventana de script R con el script para la función?
¿O en ese espacio debería poder escribir toda mi función (me refiero al script completo para la función)? No parece estar funcionando para mí ...
Y una vez que este script esté escrito en JMP, ¿podré agregar un ícono a la barra de herramientas para que todos los demás tengan que hacer clic e ingresar los archivos para ver los gráficos y las tablas?
Muchas gracias por su ayuda, y perdóneme si mis preguntas son ridículas.
Re: Cómo crear una aplicación usando las funciones R Esto es bastante fácil de hacer. Lo primero que debe hacer es crear algún tipo de GUI en JMP que le permita al usuario ingresar las 3 rutas de archivo. Esto se puede hacer de dos maneras:
dir = Pick Directory("Where is the file stored?");
Esto presentará al usuario con un buscador de directorios para seleccionar el directorio donde se almacenará un archivo con un nombre consistente.
O
path = Pick File("Which file do you want?");
Esto presentará al usuario con un explorador de archivos para seleccionar un archivo específico.
A continuación, necesita establecer una conexión R
rconn = R Connect();
Ahora, tienes dos formas de pasar información a R, la primera es
rconn << Send(JMPvariable,R Name("name.in.R"));
O
rconn << Submit("name.in.R <- " || Char(JMPvariable));
rconn << Submit("
output <- R.function(name.in.R)
sapply(output,mean)
");
La primera forma simplemente envía una variable y la inicializa en R. La segunda forma le permite enviar cualquier código R que desee (incluya las funciones que ha escrito).
Sacar las cosas de R
JMPvariable = R Get(name.in.R);
Un par de cosas a tener en cuenta: a JMP le lleva un poco más de tiempo enviar el código a R: lo que puede tomar un segundo en R se demora varias veces más cuando se ejecuta a través de un script JSL. Sin embargo, lo bueno es que puedes usar JMP para obtener resultados hermosos que R simplemente no pudo hacer.
Si tiene alguna pregunta de seguimiento, pregunte, me suscribiré al hilo.