Sottoinsieme con colonna formula aggiunta - quasi lìSto cercando di creare uno script per sottoinsiemi di dati che aggiunge anche una colonna con una formula al suo interno. Sono vicino (più o meno). Posso creare il sottoinsieme, con la nuova colonna, ma la nuova colonna contiene solo punti.
Ecco cosa ho finora:
Data Table( "Melt Curve Raw Data" ) << Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, New Column( "Normalized Fluorescence", formula(
(:Fluorescence - Col Min(:Fluorescence )) / (Col Max(:Fluorescence )
-Col Min(:Fluorescence )))
))
);
Dopo la ricerca, ho visto qualcosa su un comando eval, ma come principiante non riesco a capire come aggiungerlo, quindi funziona.
** Idealmente sarei anche in grado di aggiungere la nuova colonna direttamente dopo la colonna della temperatura anziché alla fine
Grazie in anticipo per qualsiasi consiglio !!
Tabella datiScriptingRi: sottoinsieme con aggiunta di colonna formula - quasi lìNew Column () non è consentito nella specifica di colonna per Subset ().Almeno non riesco a trovarlo nella documentazione, né funziona in un esempio di sottoinsieme molto semplice, con esso incluso.Pertanto, ho modificato il tuo script per creare la colonna nella tabella dati originale, quindi sottoinsieme le tabelle e poi tornare indietro ed eliminarlo dalla tabella originale.
Data Table( "Melt Curve Raw Data" ) <<
New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence )) / (
Col Max( :Fluorescence ) - Col Min( :Fluorescence ))
)
);
Data Table( "Melt Curve Raw Data" ) <<
Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
Data Table( "Melt Curve Raw Data" ) <<
delete columns( :Normalized Fluorescence );
Ri: sottoinsieme con aggiunta di colonna formula - quasi lìCiao Jim! Grazie per il vostro consiglio. Vorrei poter usare il tuo metodo, ma sfortunatamente, quando aggiungo la colonna prima di fare i sottoinsiemi, la nuova colonna utilizza i massimi e i minimi precedenti, quindi i calcoli sono sbagliati.
L'aggiunta della nuova colonna dopo il sottoinsieme funziona per me, non so perché, ed è intitolata correttamente, ma la formula non "calcola", motivo per cui ho pensato che potrebbe essere la cosa "eval" che ho visto. Quando entro nelle nuove colonne, ha "Sopprimi eval" attivato ma non so come risolverlo senza passare manualmente a tutti i sottoinsiemi e correggerlo.
Ho allegato uno screenshot di quello che sembra a me. Viene visualizzata la colonna, ma con i punti. Quando entro nelle informazioni sulla colonna, è selezionata l'opzione "Sopprimi eval" e deselezionandola risolve l'errore, ma non è l'ideale dover accedere singolarmente a tutti i sottoinsiemi per deselezionare la casella. Ho provato ad aggiungere codici diversi allo script per disattivare la soppressione dell'eval, ma nessuno di loro funziona finora.
Re: Sottoinsieme con colonna formula aggiunta - ci siamo quasiEcco 2 soluzioni al problema.Il primo modifica il calcolo per utilizzare i valori minimo e massimo per la particolare posizione del pozzo che viene valutata.
Data Table( "Melt Curve Raw Data" ) << New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence, :Well Position )) / (
Col Max( :Fluorescence, :Well Position )
-Col Min( :Fluorescence, :Well Position ))
)
);
Data Table( "Melt Curve Raw Data" ) << Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
Data Table( "Melt Curve Raw Data" ) << delete columns( :Normalized Fluorescence );
Il secondo crea le tabelle di dati sottoinsiemi, quindi torna indietro e aggiunge la nuova colonna per ciascuna delle nuove tabelle di dati prodotte
new tables = Data Table( "Melt Curve Raw Data" ) <<
Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
For( i = 1, i <= N Items( new tables ), i++,
new tables[i] << New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence, :Well Position )) / (
Col Max( :Fluorescence, :Well Position )
-Col Min( :Fluorescence, :Well Position ))
)
)
);