Ricodificare più valori in più colonneSalve esperti JMP,
Sto cercando di ricodificare 103 colonne di dati in una tabella dati. Ci sono parecchie ricodifiche che devono avvenire in ciascuna colonna. Stavo cercando di seguire questo post:
https://community.jmp.com/t5/Discussions/Recode-multiple-columns-with-JSL-script/mp/7865#M7859
ma usa recode invece di "if".
Penso che il mio problema sia con i "cols" che ho usato. Non sono sicuro di come fare riferimento alla colonna che sto prendendo di mira e spostarmi da una colonna a quella successiva con ciascun ciclo all'interno di "for".
Grazie per l'aiuto!
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))
)
);
Ri: Ricodificare più valori in più colonneGrazie mille!Ri: Ricodificare più valori in più colonneHai 2 problemi.
- La sintassi corretta per utilizzare un pedice è racchiuderlo tra "[ ]" e non "( )".
- È necessario indicare a JMP che Cols[i] deve essere utilizzato come riferimento di colonna
Vedi lo script corretto di seguito
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", ".",
"-", "."
)
)
);