Aktualisieren eines Teils einer Datentabelle nach Zeilen und Spalten mithilfe von JSLHallo, tut mir leid, ich habe jetzt stundenlang gegoogelt und weiß einfach nicht, was ich tun soll. Ich weiß nicht, wie ich meine Frage formulieren soll, obwohl ich mein Bestes geben werde. Es ist nur sehr ärgerlich und bringt mich jetzt endlich dazu, wie so einfach eine Sache so kompliziert sein kann. Ich sehe, dass JMP für einige Dinge gedacht ist und schließlich nicht für andere. In Python wäre das für mich sehr einfach. Aber ich denke, es geht nur um Erfahrung. Verletzung nicht beleidigen.
Ich möchte eine Teilmenge meiner Datentabelle durch neue Daten ersetzen. Ich habe die Zielzeilen und Zielspalte und die alte Tabelle und die neuen Daten. Wie lautet die Syntax dafür?
Vielen Dank.
Michael
DatentabelleSkriptingBetreff: Aktualisieren eines Teils einer Datentabelle nach Zeile und Spalte mithilfe von JSLHier sind 3 Möglichkeiten, um Daten in einer Tabelle mit Werten aus einer anderen Tabelle zu aktualisieren.
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];Betreff: Aktualisieren eines Teils einer Datentabelle nach Zeile und Spalte mit JSLHallo Michael,
Ich habe ein Skript angehängt, das ich vor vielen Monden geschrieben habe, um einige häufig verwendete Syntax für Tabellenoperationen zu veranschaulichen. Wenn Sie es überprüfen, schalten Sie Ihr Protokoll ein, damit Sie die Ergebnisse sehen können, und führen Sie jede Zeile einzeln aus. Wenn Sie außer Betrieb gehen, funktioniert es möglicherweise nicht richtig, da ich manchmal Dinge tue, die auf zuvor ausgeführtem Code beruhen.
In Ihrem speziellen Fall können Sie Tabelleninhalte durch Subskription ersetzen ... sehen Sie sich dieses Skript an, das Zeile für Zeile abläuft
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] = .;