Sous-ensemble avec colonne de formule ajoutée - presque làJ'essaie de créer un script pour sous-ensembles de données qui ajoute également une colonne avec une formule. Je suis proche (en quelque sorte). Je peux créer le sous-ensemble, avec la nouvelle colonne, mais la nouvelle colonne ne contient que des points.
Voici ce que j'ai jusqu'à présent:
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 )))
))
);
Après la recherche, j'ai vu quelque chose à propos d'une commande eval, mais en tant que débutant, je ne peux pas comprendre comment l'ajouter pour que cela fonctionne.
** Idéalement, je pourrais également ajouter la nouvelle colonne directement après la colonne Température au lieu de la fin
Merci d'avance pour tout conseil !!
Tableau de donnéesScriptingRe: Sous-ensemble avec colonne de formule ajoutée - presque làLa nouvelle colonne () n'est pas autorisée dans la spécification de colonne pour Subset ().Au moins, je ne peux pas trouver un tel dans la documentation, ni cela ne fonctionne dans un exemple de sous-ensemble très simple, avec cela inclus.Par conséquent, j'ai modifié votre script pour créer la colonne dans la table de données d'origine, puis sous-ensemble les tables, puis revenir en arrière et la supprimer de la table d'origine.
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 );
Re: Sous-ensemble avec colonne de formule ajoutée - presque làSalut Jim! Merci pour votre conseil. J'aurais aimé pouvoir utiliser votre méthode, mais malheureusement, lorsque j'ajoute la colonne avant de faire les sous-ensembles, la nouvelle colonne utilise le max & min précédent, donc les calculs sont erronés.
L'ajout de la nouvelle colonne après le sous-ensemble fonctionne pour moi, je ne sais pas pourquoi, et il est correctement intitulé, mais la formule ne "calcule" pas, c'est pourquoi j'ai pensé que c'était peut-être la chose "eval" que j'ai vue. Quand je vais dans les nouvelles colonnes, il a "suppress eval" sur mais je ne sais pas comment résoudre cela sans entrer à la main dans tous les sous-ensembles et les corriger.
J'ai joint une capture d'écran de ce à quoi il ressemble pour moi. La colonne apparaît, mais avec les points. Quand je vais dans les informations de la colonne, la case "supprimer eval" est cochée, et la décocher résout l'erreur, mais ce n'est pas idéal d'avoir à aller dans tous les sous-ensembles individuellement pour décocher la case. J'ai essayé d'ajouter différents codes au script pour désactiver la suppression de eval, mais aucun d'entre eux ne fonctionne jusqu'à présent.
Re: Sous-ensemble avec colonne de formule ajoutée - presque làVoici 2 solutions au problème.Le premier modifie le calcul pour utiliser les valeurs min et max pour la position de puits particulière qui est évaluée.
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 );
Le second crée les tableaux de données sous-ensembles, puis revient en arrière et ajoute la nouvelle colonne pour chacun des nouveaux tableaux de données produits
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 ))
)
)
);