Resumen de número desconocido de columnas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
Me gustaría crear un resumen de todas las columnas en una tabla de datos genérica, donde el número de columnas es desconocido.
A continuación se muestra un ejemplo para una tabla de datos conocidos. ¿Alguna sugerencia para un número desconocido de columnas?
Gracias,
Robar
dt = Abrir ("$ SAMPLE_DATA / Big Class.JMP");
dtsum1 = dt << Resumen (N (: nombre), N (: edad), N (: sexo), N (: altura), N (: peso));
Re: Resumen de Número Desconocido de ColumnasMuy elegante. ¡Gracias!
Re: Resumen de Número Desconocido de ColumnasResumen acepta una lista de columnas como un argumento. Así que este oneliner también funciona!
dt = Abierto ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt << Resumen ( norte ( dt << obtener nombres de columna )) ;
Re: Resumen de Número Desconocido de ColumnasAmbas soluciones funcionan muy bien. ¡Gracias!
Re: Resumen de Número Desconocido de ColumnasSugiero construir una expresión y luego insertar referencias a cada columna:
dt = Abrir ("$ SAMPLE_DATA / Big Class.JMP");
summaryexpr = Expr (Summary ());
para (i = 1, i <= ncol (dt), i ++,
insertinto (summaryexpr, insert (expr (N ()), columna (i)))
);
eval (sustituye (expr (dt << comando), expr (comando), summaryexpr));
A menos que esté cambiando entre tablas de datos, podría simplificar la última línea simplemente ejecutando 'summaryexpr' en lugar de agregarlo como un comando a 'dt'.
Re: Resumen de Número Desconocido de ColumnasProbablemente hay una forma más pulida, pero en situaciones como esta, creo un código dinámico y luego lo ejecuto:
dt = Abierto ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt_cols = dt << obtener nombres de columna ( cuerda ) ;
para ( yo = 1 , yo <= Nitems ( dt_cols ) , yo ++,
Si ( yo == 1 ,
n_expr = "dtsum1 = dt << Resumen (N (: nombre (\!" " ||
dt_cols El yo ] || "\!")) " ;
,
n_expr = n_expr || ", N (: nombre (\!" " || dt_cols El yo ] || "\!")) " ;
) ;
) ;
n_expr = n_expr || ")" ;
evaluar ( analizar gramaticalmente ( n_expr )) ;