No soy muy hábil con las secuencias de comandos JSL, así que, como prueba, le pedí a ChatGPT-4 que escribiera una secuencia de comandos JSL para mí. Utilicé la tabla de datos "Producción de maíz, trigo y soja" de los datos de muestra de JMP. Mi pedido fue:
"Tengo un conjunto de datos para analizar la producción de maíz, trigo y soja. Consta de 5 columnas (Año, Estado, Producto, Producto básico acres plantados y total de acres plantados). ¿Puede generar un script JMP JSL para analizar estos datos?"
En respuesta, generó el script JSL que se muestra a continuación. Sin embargo, cuando ejecuto el script, no se ejecuta y no hay mensajes de error. No sé lo suficiente sobre JSL para saber por qué no funciona.
Tengo curiosidad por saber si algún programador de JSL con experiencia quisiera comentar sobre la calidad del script de ChatGPT y tal vez señalarme qué es lo que no funciona. ¿Este script es basura total o es quizás un pequeño error que lo haría funcionar? Inserté los nombres de ruta manualmente, por lo que es posible que lo haya arruinado. Estoy ejecutando JMP en una Mac, por lo que los nombres de ruta tienen el formato correspondiente.
Aquí está el script generado por ChatGPT:
// Import the data from a JMP file
dt = Open( "$SAMPLE_DATA/crop_production.jmp" );
// Calculate summary statistics for each commodity
commodities = {"corn", "wheat", "soybean"};
For( i = 1, i <= N Items( commodities ), i++,
dt_sum = dt << Summary(
Group( :Commodity ),
Weight( :Commodity acres planted ),
Statistics( Sum, Mean, Min, Max, Std Dev ),
Subsets( :Year, :State )
);
dt_sum << Select Where( :Commodity == commodities[i] );
dt_sum << Save Selected Rows(
"$SAMPLE_OUTPUT/" || commodities[i] || "_summary.jmp",
"jmp"
);
dt_sum << Delete Rows;
);
// Create a scatterplot matrix of the data
dt << Scatterplot Matrix(
Y( :Commodity acres planted, :Total acres planted ),
Group By( :Commodity ),
By( :Year, :State )
);
// Save the scatterplot matrix as an interactive HTML file
dt << Save Interactive HTML(
"$SAMPLE_OUTPUT/scatterplot_matrix.html",
Scatterplot Matrix
);
// Close the dataset
Close( dt, NoSave );