Script JMP: nuova colonna per ogni valore specificato nella colonnaCiao a tutti,
Sto cercando di creare nuove colonne per ogni valore numerico che segue |90= ed etichettare le colonne come la stringa che precede |90, quindi pX o qualsiasi altra cosa lo preceda. Vedi la foto allegata qui sotto come esempio.

Quindi, nella prima riga, vorrei prendere il 93 che viene dopo "p1|90=" e creare una nuova colonna etichettata "p1". Mi piacerebbe farlo per ogni numero che viene dopo ogni "pX|90=". Quel pX potrebbe anche essere sX o rX o pXa/b/c/...e così via. Quindi mi piacerebbe anche creare nuove colonne anche per questi valori. Il numero di punti dati per riga varia notevolmente, da un solo (1) valore pX|90= a 15 diversi valori pX|90=, forse con alcuni valori con sX|90= o rX|90=.
Stavo usando la funzione Word che catturava i valori dei dati pX|00. Ora voglio prenderne solo 90 e ho provato a utilizzare lo script precedente che stavo usando, ma ho scoperto che non catturava tutti i valori che volevo.

Questo vale per centinaia, presto migliaia, di righe, quindi farlo manualmente non è sostenibile.
Quali funzioni ha senso utilizzare qui?
Sono nuovo nello scripting JMP, sono disposto a imparare e ad ascoltare qualsiasi idea. Grazie!
Modellazione statistica avanzataAutomazione e scriptingRicerche sui consumatori e sul mercatoPersonalizzazione di massaIngegneria della qualità e dei processifinestreRi: Script JMP: nuova colonna per ogni valore specificato nella colonnaNon ho idea se questo sia il modo migliore, ma è abbastanza semplice.
Names default to here(1);
dt= New Table( "splitting bunches",
Add Rows( 1 ),
New Column( "Fun",
Character,
"Nominal",
Set Values( {"<P>p1|00=51;p1|90=32;p2|00=48;p2|90=90;",
"</P><P>p1|00=47;p1|90=60;p4|00=73;p4|90=49;"
} )
),
);
dt << New Column("just_delim",
// this is just getting rid of that beginning part as I image you don't want it.
character, formula(substitute(:Fun, "</P><P>", ""))
);
// split it on ; into however many columns
dt << Text To Columns(
delimiter( ";" ),
columns( :just_delim )
);
// get the columns you just made
cols_to_stack = (dt << get Column References)[3::ncols(dt)];
// stack them now
dt_stack = dt << Stack(
columns( cols_to_stack ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ), output table("stacked")
);
// same thing
dt_stack << Text To Columns(
delimiter( "|=" ),
columns( :Data )
);
dt_stack:"Data 1"n<<SET name=""></SET></P>Ri: Script JMP: nuova colonna per ogni valore specificato nella colonnaHa funzionato per me E ha senso. Grazie! Sono contento che tu l'abbia trovato "divertente".