Recodificar múltiples valores en múltiples columnasHola expertos de JMP,
Estoy tratando de recodificar 103 columnas de datos en una tabla de datos. Hay bastantes recodificaciones que deben ocurrir en cada columna. Estaba tratando de seguir esta publicación:
https://community.jmp.com/t5/Discussions/Recode-multiple-columns-with-JSL-script/mp/7865#M7859
pero use recodificar en lugar de "si".
Creo que mi problema es con las "cols" que usé. No estoy seguro de cómo hacer referencia a la columna a la que me dirijo y pasar de una columna a la siguiente con cada ciclo dentro del "para".
¡Gracias por su ayuda!
cols = dtconcat << get column names;
For Each Row( For(i=1, i<=N Items(cols), i++,
cols(i) = Match( cols(i),
"NQ", "0",
"Nq", "0",
"NA", ".",
"N/A", ".",
">30", "30",
">20", "20",
"<5", "0",
"<2.00", "0",
"<2.0", "0",
"<2", "0",
"<1", "0",
"<0.5", "0",
"<0.01", "0",
"#N/A", ".",
"-", ".",
cols(i))
)
);
Re: Recodificar varios valores en varias columnas¡Muchas gracias!Re: Recodificar varios valores en varias columnasTienes 2 problemas.
- La sintaxis correcta para usar un subíndice es incluirlo entre "[ ]" y no "( )".
- Debe decirle a JMP que Cols[i] debe usarse como referencia de columna
Vea el guión corregido a continuación
cols = dtconcat << get column names;
For Each Row(
For( i = 1, i <= N Items( cols ), i++,
As Column( cols[i] ) =
Match( As Column( cols[i] ),
"NQ", "0",
"Nq", "0",
"NA", ".",
"N/A", ".",
">30", "30",
">20", "20",
"<5", "0",
"<2.00", "0",
"<2.0", "0",
"<2", "0",
"<1", "0",
"<0.5", "0",
"<0.01", "0",
"#N/A", ".",
"-", "."
)
)
);