DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Pivot-Tabelle 2. Versuch

> Ich habe eine lange Liste mit Einträgen etwa der Art:
> 
> FactorA, BedingungA, Zahl,
> FactorB, BedingungA, Zahl,
> FactorC, BedingungB, Zahl,
> FactorB, BedingungB, Zahl,
> FactorB, BedingungB, Zahl,
> ...
> 
> Es gibt eine endliche Anzahl von Factoren* und von Bedingungen*.
> Die Zahlen können beliebige Messwerte annehmen.
> 
> Als Auswertung möchte ich eine Matrix erstellen, welche die Faktoren 
> (Zeilen) über die Bedingungen (Spalten) aufträgt.
> 
> Als Zusammenfassungsfunktion der Messwerte dienen beispielsweise  Summe 
> oder Streuung.
> 
> In Excel würde ich eine Pivot-Tabelle erstellen.
> Gibt es in Mathematica eine Funkion dafür oder einen eleganten Weg, dies 
> zu erreichen.

Die Zahlen in die Tabelle einzuordnen läßt sich z.B. wie folgt machen:

Apply[ (zahl[#1, #2] = #3)&, liste, 1 ];
zahl[__] = Undefined

faktoren = Apply[#1&, liste, 1]//Union

bedingungen = Apply[#2&, liste, 1]//Union

tabelle = Outer[zahl, faktoren, bedingungen] 

Hierzu sollte die Liste von der Form
        {{facA, bedA, zahl}, {facB, bedB, zahl}, ...}
sein.  Wenn sie linear ist, also
        {facA, bedA, zahl, facB, bedB, zahl, ...}
muß man ein "liste = Partition[liste, 3]" voranstellen.


Gruß,

Thomas Hahn


Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html