obtenir des lignes où retourner une matrice vide<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une table de données que j'essaie de manipuler. J'utilise la fonction get rows where pour trouver où la première colonne est égale à une chaîne, appelons-la "aaa". Lorsque j'utilise le logiciel pour ce faire, cela fonctionne bien et deux lignes sont sélectionnées, la ligne 1 et la ligne 2240. Lorsque j'essaie de créer un script, le résultat est une matrice vide.
Voici le script que j'utilise :
Names Default To Here( 1 );
dtx = Current Data Table();
noRows = N Rows( dtx );
ddd = dtx << Get Rows Where( Column( dtx, 1 ) == "aaa" );
et le résultat est
[](0, 1)
notez que cela renvoie un 1
Column( dtx, 1 ) [1] == "aaa"
Est-ce que quelqu'un a une idée de ce que je fais mal?
Merci d'avance
Chauffage
Re : obtenir des lignes où retourner une matrice videcool. Je n'ai pas lu la question d'origine d'assez près et j'avais de toute façon oublié le [] vide.
Re : obtenir des lignes où retourner une matrice vide
dtx=open("$sample_data/big class.jmp");
c=column(dtx,3);
dtx<
Cela a fonctionné, merci à vous deux.
H
Re : obtenir des lignes où retourner une matrice videUne comparaison d'un Objet colonne avec un chaîne renverra toujours faux. Dans certains cas (ou en général ?), JMP doit être explicitement informé que vous vous référez à une colonne ou aux valeurs de colonne (je me souviens qu'il y a eu un bon fil à ce sujet peut-être une différence un peu déroutante mais je ne le trouve pas maintenant. ..)
Vous pouvez accéder aux données avec des indices (comme vous l'avez montré ci-dessus avec Column( dtx, 1 ) [1] == "aaa"). Dans des fonctions comme G et Lignes Où() qui parcourent essentiellement toutes les valeurs de colonne, chaque valeur est accessible avec l'un des éléments ci-dessous :
1) Colonne ( dtx , 1 )[] == "aaa" // Notez les parenthèses vides
2) Comme colonne ( dtx , 1 ) == "aaa"
3) Ou le plus simple avec le côlon de portée comme C Hales l'a montré ci-dessus
Re : obtenir des lignes où retourner une matrice videJe ressemble à Get Rows Where veut un argument plus simple, essayez l'un de ceux-ci
dtx=open("$sample_data/big class.jmp");
c=column(dtx,3);
dtx<
ou
dtx=open("$sample_data/big class.jmp");
dtx<
l'étrange valeur renvoyée, [](0, 1) est le tableau vide de JMP de 0 lignes et 1 colonne.les deux exemples renvoient plusieurs lignes, d'une colonne :
[1, 2, 3, 4, 5, 9, 10, 11, 16, 17, 18, 19, 20, 28, 29, 35, 36, 38]