Comment puis-je sélectionner une valeur dans une table externe en indexant des valeurs dans deux colonnes de la table JMP ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je travaille dans une très grande table JMP. Je voudrais sélectionner une valeur dans une petite table externe à deux dimensions et mettre cette valeur dans une nouvelle colonne. Afin de sélectionner la valeur de la table externe, je souhaite utiliser des valeurs dans chaque ligne des deux colonnes de la table JMP actuelle comme les deux indices de la petite table externe. Quelqu'un peut-il m'aider à faire cela?
J'ai deux fichiers. Le Big_data_matrix contient la première colonne qui ne peut avoir que des valeurs comprises entre 1 et 24. La colonne 2 est vide. Values.jmp est une petite table qui contient une colonne avec 24 entrées. Pour chaque ligne de Big_data_matrix, je voudrais lire la valeur dans la colonne 1, et si elle est égale à k, alors je voudrais choisir la k-ème entrée (k = 1:24) à partir des valeurs. jmp et entrez-le dans la deuxième colonne de Big_data_matrix.
Mon Big_data_matrix d'origine est très volumineux (> 1 million de lignes) et je dois le faire pour de nombreuses tables de données Big_data_matrix différentes.
C'est probablement facile à faire dans jsl, mais j'ai 0 expérience avec JSL et j'aimerais le faire dans JMP, si possible.
Merci.
Le message a été modifié par : Ranjan Sonalkar
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?MME
Merci. Solution simple et fonctionne bien.
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?Vous pouvez utiliser l'instruction UPDATE pour mettre à jour la grande table avec les valeurs de la petite table.Voici un exemple JSL :
dt_big = Nouveau tableau ( "Big_data_matrix" ,
Ajouter des lignes ( 2400 ) ,
Nouvelle colonne ( "Première colonne" , Numérique , Continu , Format ( "Meilleur" , 12 ) )
) ;
dt_val = Nouveau tableau ( "Valeurs" , Ajouter des lignes ( 24 ) ,
Nouvelle colonne ( "Colonne 1" , Personnage , Nominal ,
Définir les valeurs ( { "AA" , "BB" , "CC" , "JJ" , "EE" , "FF" , "GG" , "HH" , "Je" , "JJ" , "KK" , "LL" ,
"MM" , "NN" , "OO" , "PP" , "QQ" , "RR" , "SS" , "TT" , "UU" , "VV" , "WW" , "xx" } ) ) ,
Nouvelle colonne ( "Numéro de ligne" , Numérique , Continu , Format ( "Meilleur" , 12 ) ,
Définir les valeurs ( [ 1 , 2 , 3 , 4 , 5 , 6 , sept , 8 , 9 , dix , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 ,
21 , 22 , 23 , 24 ] ) )
) ;
// Remplir avec des entiers aléatoires de 1 à 24
pour ( je = 1 , je <= 2400 , je ++,
colonne ( dt_big , "Première colonne" )[ je ] = tour ( uniforme aléatoire ( 1 , 24 ) , 0 ) ;
) ;
dt_big << Mise à jour (
Avec ( dt_val ) ,
Faire correspondre les colonnes ( : Première colonne = : Numéro de ligne ) ,
Ajouter des colonnes à partir du tableau de mise à jour ( : Colonne 1 )
) ;
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?Ok, l'indexation est unidimensionnelle. Ensuite, je vous suggère d'utiliser Update.
Tout d'abord, ajoutez une deuxième colonne à Values.jmp, avec les valeurs 1 à 24. Ensuite, activez le grand tableau et sélectionnez Mettre à jour dans le menu des tableaux. Sélectionnez Values.jmp dans la zone de liste et cochez « Faire correspondre les colonnes ». Ensuite, vous faites correspondre la première colonne de la grande table avec la colonne ID nouvellement créée dans Values.jmp.
Une nouvelle colonne avec des valeurs correspondant au nombre dans la colonne 1 est alors ajoutée à la grande table (si la colonne vide 2 dans la grande table porte le même nom que la colonne de valeur dans la petite table, cette colonne sera remplie à la place d'un nouvelle colonne).
Et oui, cela pourrait facilement être scénarisé.
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?J'ai deux fichiers. Le Big_data_matrix contient la première colonne qui ne peut avoir que des valeurs comprises entre 1 et 24. La colonne 2 est vide. Values.jmp est une petite table qui contient une colonne avec 24 entrées. Pour chaque ligne de Big_data_matrix, je voudrais lire la valeur dans la colonne 1, et si elle est égale à k, alors je voudrais choisir la k-ème entrée (k = 1:24) à partir des valeurs. jmp et entrez-le dans la deuxième colonne de Big_data_matrix.
Mon Big_data_matrix d'origine est très volumineux (> 1 million de lignes) et je dois le faire pour de nombreuses tables de données Big_data_matrix différentes.
C'est probablement facile à faire dans jsl, mais j'ai 0 expérience avec JSL et j'aimerais le faire dans JMP, si possible.
Merci.
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?Voici un exemple d'utilisation de jsl pour obtenir des valeurs d'une autre table en fonction des coordonnées 2D de la table principale.
// Exemples de tableaux
dt1 = Nouveau tableau ( "Grande table" ,
Ajouter des lignes ( dix ) ,
Nouvelle colonne ( "index_ligne" , Définir les valeurs ([ 1 , 2 , 3 , 4 , 5 , 1 , 2 , 3 , 4 , 5 ])) ,
Nouvelle colonne ( "index_colonne" , Définir les valeurs ([ 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 ]))
) ;
dt2 = Nouveau tableau ( "Petite table" ,
Ajouter des lignes ( 5 ) ,
Nouvelle colonne ( "Colonne 1" , Définir les valeurs ([ 1 , 2 , 3 , 4 , 5 ])) ,
Nouvelle colonne ( "Colonne 2" , Définir les valeurs ([ 6 , sept , 8 , 9 , dix ])) ,
Nouvelle colonne ( "Colonne 3" , Définir les valeurs ([ 11 , 12 , 13 , 14 , 15 ]))
) ;
// Ajoute de nouvelles valeurs de colonnes à partir de petites tables correspondant aux deux colonnes d'index
dt1 << Nouvelle colonne ( "Les données" , numérique ) ;
Pour chaque ligne ( dt1 : Les données = Colonne ( dt2 , Éval ( : index_colonne []))[ : index_ligne ]) ;
Re : Comment puis-je sélectionner une valeur dans une table externe en indexant les valeurs dans deux colonnes de la table JMP ?Bonjour,
Pourriez-vous fournir un petit exemple de vos tables et de la sortie souhaitée ?Cela devrait aider à clarifier ce que vous essayez d'accomplir.
Merci.