Wie multipliziere ich alle Datenwerte mit einem Multiplikator für jede Spalte, die in einer anderen Tabelle identifiziert wird?Wie multipliziere ich alle Datenwerte mit einem Multiplikator für jede Spalte, die sich in einer anderen Tabelle befindet, nach Spaltenname? (Die Multiplikatortabelle hat eine Spalte mit den Spaltennamen und eine zweite Spalte mit den Multiplikatoren, die auf jede Spalte in der anderen Tabelle anzuwenden sind. Nicht alle Spalten haben einen Multiplikator.) Ich kann so weit kommen, den Multiplikator in einer eigenen Zeile zur Datentabelle hinzuzufügen, aber dann stecke ich fest. Ich weiß, dass ich es extern schnell erledigen kann, aber ich bin sicher, dass es in JMP eine Möglichkeit gibt, dies zu tun.
DatentabelleSkripterstellungBetreff: Wie multipliziere ich alle Datenwerte mit einem Multiplikator für jede Spalte, die in einer anderen Tabelle identifiziert wird?Du hast Recht....
Betreff: Wie multipliziere ich alle Datenwerte mit einem Multiplikator für jede Spalte, die in einer anderen Tabelle identifiziert wird?Vielen Dank! Ich habe es an den internen Kunden weitergegeben. Ich nehme an, der mittlere Abschnitt dtConfig wäre nicht notwendig, da die Multiplikatortabelle bereits vorhanden ist. (Sie haben gerade eine neue Multiplikatortabelle erstellt, um sie als Beispiel für eine große Klasse zu verwenden.) In der For-Schleife hat er einfach dtConfig durch den Namen seiner Multiplikatortabelle ersetzt. Klingt das ungefähr richtig? Danke noch einmal!
Betreff: Wie multipliziere ich alle Datenwerte mit einem Multiplikator für jede Spalte, die in einer anderen Tabelle identifiziert wird?Hier ist ein einfaches Beispiel für das Ändern der Werte in der Big Class-Datentabelle, basierend auf einer von Ihnen beschriebenen Konfigurationsdatentabelle.
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dtConfig = New Table( "Config",
New Column( "Name", character, values( {"age", "height", "weight"} ) ),
New Column( "multiplier", values( {3, ., 2} ) )
);
dtColNames = dt << get column names( string );
For( i = 1, i <= N Rows( dtConfig ), i++,
If( Contains( dtColNames, dtConfig:Name[i] ) & Is Missing( dtConfig:multiplier[i] ) == 0,
temp = Column( dt, dtConfig:Name[i] ) << get values;
temp = temp :*</img> dtConfig:multiplier[i];
Column( dt, dtConfig:Name[i] ) << set values( temp );
)
);