Je cherche à effectuer une simple recherche et remplacement. Je construis un script plus volumineux et j'aimerais remplacer du texte par un espace vide. J'ai essayé le bouclage et la fonction Munger, mais il semble que tous les exemples que j'ai trouvés en ligne sont plus compliqués que nécessaire. J'ai joint mon ensemble de données. En gros, je veux rechercher "
Merci pour l'aide!
Je pense que le thème de mes cours d'aujourd'hui est "Less is More". Merci. Cela (encore) fonctionne parfaitement.
Plusieurs fois, vous pouvez éliminer les spécificités du groupe et laisser JMP déterminer quoi utiliser, si vous spécifiez simplement d'utiliser un groupe.Le script ci-dessous fonctionne très bien, sans tout le désordre
Bubble Plot(
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID )
);
Merci, ce script a parfaitement fonctionné.
En passant (et s'il vous plaît laissez-moi savoir si je dois démarrer un nouveau fil de discussion pour cela), mais avec mes données que j'ai jointes précédemment, j'essaie de créer des tracés à bulles à l'aide d'un script. Je peux tout faire de manière interactive, puis copier le script, cependant, il est spécifique aux noms d'ID d'échantillon dans la première colonne. J'utiliserai ce script avec de nombreuses tables de données différentes et la disposition des données sera toujours la même, cependant, le nombre d'échantillons inclus dans le fichier et les ID d'échantillon changeront. Existe-t-il un moyen simple d'adapter le script ci-dessous pour qu'il soit utilisé pour n'importe quel ID d'échantillon, plutôt que de dire "CM172-001".
Bubble Plot(
SendToByGroup( {:Sample ID == "CM172-001"} ),
X( :RT1 ),
Y( :RT2 ),
Sizes( :Area ),
Coloring( :Group ),
Title Position( 0, 0 ),
By( :Sample ID ),
SendToByGroup(
{:Sample ID == "CM172-001"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-001"},
"2",
ScaleBox,
{Min( 2.84 ), Max( 2.97 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-002"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"1",
ScaleBox,
{Min( 10 ), Max( 35 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-002"},
"2",
ScaleBox,
{Min( 2.8 ), Max( 3.7 ), Inc( 0.1 ), Minor Ticks( 0 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-003"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"1",
ScaleBox,
{Min( 11 ), Max( 22 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-003"},
"2",
ScaleBox,
{Min( 2.83 ), Max( 2.96 ), Inc( 0.02 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-004"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-004"},
"2",
ScaleBox,
{Min( 2.6 ), Max( 3.6 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
),
SendToByGroup(
{:Sample ID == "CM172-005"},
SendToReport(
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"1",
ScaleBox,
{Min( 10 ), Max( 30 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{"Bubble Plot of RT2 by RT1 Sized by Area Sample ID=CM172-005"},
"2",
ScaleBox,
{Min( 2.7 ), Max( 3.7 ), Inc( 0.2 ), Minor Ticks( 1 )}
)
)
)
);Voici un simple morceau de code qui recherche les valeurs que vous souhaitez modifier, les modifie, puis définit les colonnes sur numériques et continues.
Names Default To Here( 1 );
dt = Current Data Table();
colList = dt << get column names( character, string );
For( i = 1, i <= N Items( colList ), i++,
selRows = dt << get rows where(
Column( dt, colList[i] )[Row()] == "< LOD" | Column( dt, colList[i] )[Row()] == "---"
);
If( N Rows( selRows ) > 0,
Column( dt, colList[i] )[selRows] = "";
Column( dt, colList[i] ) << data type( "numeric" ) << modeling type( "continuous" );
);
);
Eh bien, cela coupe une étape alors ! Merci pour l'aide. Beaucoup plus facile.
Si vous changez le type de données de caractère en numérique, les valeurs telles que "
Names Default to Here( 1 );
dt = New Table( "test",
New Column( "data",
Character, Nominal,
Values( { "3.1", "4.5", "<LOD></LOD>Re : Rechercher et remplacer simplementJ'apprécie la mise en garde, cependant, j'utilise simplement les données pour tracer des empreintes digitales, et le simple fait que le composé n'a pas été détecté nous intéresse. Pour toute analyse statistique, nous imputerions les valeurs ND en fonction des limites de détection fournies.
Indépendamment de votre question de script, le remplacement des valeurs censure . Vous devez utiliser des estimateurs qui gèrent les données censurées ainsi que les données exactes.