Mise à jour d'une partie d'une table de données par ligne et colonne à l'aide de JSLSalut, désolé, je cherche sur Google depuis des heures maintenant et je ne sais pas quoi faire. Je ne sais pas comment formuler ma question bien que je fasse de mon mieux, c'est juste, vraiment exaspérant et ça me prend enfin, comment une chose aussi simple peut être si compliquée. Je vois que JMP est destiné à certaines choses et pas à d'autres, après tout. En Python, ce serait très facile pour moi. Mais je suppose que tout est une question d'expérience. Pour ne pas ajouter l'insulte à l'injure.
Je souhaite remplacer un sous-ensemble de ma table de données par de nouvelles données. J'ai les lignes cibles et la colonne cible et l'ancienne table et les nouvelles données. Quelle est la syntaxe pour faire ça ?
Merci.
Michael
Modélisation statistique avancéeAutomatisation et scriptÉtudes de consommation et de marchéAccès aux donnéesFusion et nettoyage des donnéesPersonnalisation de masseRe : Mise à jour d'une partie d'un tableau de données par ligne et colonne à l'aide de JSLSalut Michael,
J'ai joint un script que j'ai écrit il y a de nombreuses lunes pour illustrer une syntaxe couramment utilisée pour les opérations de table. Lorsque vous le vérifiez, activez votre journal pour voir les résultats et exécutez chaque ligne une à la fois. Si vous sortez de l'ordre, cela peut ne pas fonctionner correctement car parfois je fais des choses qui reposent sur du code précédemment exécuté.
Dans votre cas spécifique, vous pouvez remplacer le contenu du tableau en utilisant l'indice... jetez un œil à ce script, en exécutant les choses ligne par ligne
names default to here(1);
//create a 10x10 table of random integers between 1 and 20
dt = As Table( J( 10, 10, Random Integer( 1, 20 ) ) );
//replace column 1 with fibonacci numbers... note 0th row means ALL rows
//note that ` is the transpose operator.
dt[0, 1] = (Round( 1 / Sqrt( 5 ) * ((1 + Sqrt( 5 )) / 2) ^ (1 :: 10) ))` ;
//replace a subbloc of the table with numbers 81-100 in a 4x5 shape
dt[3::6, 4::8] = shape(81::100, 4);
//set a subbloc to all zeros
dt[8::10, 2::4] = 0;
//store a cell's value in a variable
x = dt[2,3];
//store a subbloc in a matrix
mat = dt[4::6, 0];
//set the whole table to missing
dt[0,0] = .;
Re : Mise à jour d'une partie d'un tableau de données par ligne et colonne à l'aide de JSLVoici 3 façons de mettre à jour les données d'une table avec les valeurs d'une autre table.
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// Create a table with values to be input
// into the big class table
New Table( "Using Update",
New Column( "Name", character, values( {"JANE", "TIM", "ALICE"} ) ),
New Column( "Height", values( {58, 69, 64} ) ),
New Column( "Weight", values( {88, 100, 120} ) )
);
// Wait for a short time to be able to see the two
// data tables before combining them
Wait( 5 );
// Update data tables
Data Table( "big class" ) << Update( With( Data Table( "Using Update" ) ), Match Columns( :name = :Name ) );
// Update a block of data into the data table
// Create a table to get values from
New Table( "Just Data",
New Column( "A", values( {100, 101, 102, 103} ) ),
New Column( "B", values( {90, 91, 92, 93} ) )
);
// Wait for a short time to be able to see the two
// data tables before combining them
Wait( 5 );
dt = Data Table( "big class" );
dt2 = Data Table( "Just Data" );
dt[3 :: 6, 4 :: 5] = dt2[1 :: 4, 1 :: 2];
// One last simple way to move data
dt:age[2] = dt2:a[4];