Aktualisieren eines Teils einer Datentabelle nach Zeile und Spalte mithilfe von JSLHallo, tut mir leid, ich habe jetzt schon stundenlang gegoogelt und weiß einfach nicht, was ich tun soll. Ich weiß nicht, wie ich meine Frage formulieren soll, aber ich werde mein Bestes geben, es ist einfach wirklich ärgerlich und mir wird jetzt endlich klar, wie eine so einfache Sache so kompliziert sein kann. Ich sehe, dass JMP schließlich für einige Dinge gedacht ist und für andere nicht. In Python wäre das für mich sehr einfach. Aber ich denke, es kommt nur auf die Erfahrung an. Um die Verletzung nicht noch schlimmer zu machen.
Ich möchte eine Teilmenge meiner Datentabelle durch neue Daten ersetzen. Ich habe die Zielzeilen und Zielspalte sowie die alte Tabelle und die neuen Daten. Wie lautet die Syntax dafür?
Danke schön.
Michael
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungDatenzugriffDatenmischung und -bereinigungMassenanpassungBetreff: Aktualisieren eines Teils einer Datentabelle nach Zeile und Spalte mithilfe von 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 auschecken, schalten Sie Ihr Protokoll ein, damit Sie die Ergebnisse sehen können, und führen Sie jede Zeile einzeln aus. Wenn Sie nicht mehr in Ordnung sind, funktioniert es möglicherweise nicht richtig, da ich manchmal Dinge mache, die auf zuvor ausgeführtem Code basieren.
In Ihrem speziellen Fall können Sie Tabelleninhalte durch Subskription ersetzen ... Schauen Sie sich dieses Skript an, das die Dinge Zeile für Zeile ausführt
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] = .;
Betreff: Aktualisieren eines Teils einer Datentabelle nach Zeile und Spalte mithilfe von JSLHier sind drei Möglichkeiten, 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];