Wie ergibt eine Zahlenfolge eindeutige Werte?Ich habe die folgende Spalte1 und muss eine neue Spalte erstellen, die die fortlaufende Anzahl der Wiederholungen in Spalte1 enthält
Die resultierende Tabelle sollte wie folgt aussehen:
| Spalte1 | Spalte2 |
| A | 1 |
| A | 2 |
| A | 3 |
| B | 1 |
| B | 2 |
| C | 1 |
Irgendwelche Vorschläge zum Codieren in JSL? (oder in der Spaltenformel?) Danke!
Betreff: Wie ergibt eine Zahlenfolge eindeutige Werte?Hier ist eine Spaltenformelmethode:
// define values
Col1Vals = {"a","a","a","a","b","b","c","c","c"};
dt = New Table();
dt << New Column("MyValues",Character,Nominal,<< Set Values(Col1Vals));
// Create Cumulative Frequencies
dt << New Column("CumulativeFreqCount",Numeric,Continuous);
dt:CumulativeFreqCount << Set Each Value(
If(
Row() == 1, 1,
:MyValues == Lag( :MyValues, 1 ), Lag(:CumulativeFreqCount, 1 ) + 1,
1
)); // end set each valueBetreff: Wie ergibt eine Zahlenfolge eindeutige Werte?Eigentlich habe ich den Teil übersehen, in dem Sie eine kumulative Summe erhalten wollten, sondern nur die Summe.
Ich bin mir ziemlich sicher, dass es intelligentere und effizientere Möglichkeiten gibt, dies zu tun. Das wird aber funktionieren.
Im Wesentlichen erstelle ich auch die Rohdaten, damit Sie sie testen und damit experimentieren können
// define values
Col1Vals = {"a","a","a","a","b","b","c","c","c"};
dt = New Table();
dt << New Column("MyValues",Character,Nominal,<< Set Values(Col1Vals));
// Generate summary
dt1 = dt << Summary( Group( :MyValues ), Freq( "None" ), Weight( "None" ) );
UniqueItems = dt1:MyValues << Get values;
FrequencyOfItems = dt1 << Get As Matrix; <BR /><BR />Close(dt1,"No Save");
// Add Cumulative Frequencies back
dt << New Column("CumulativeFreqCount",Numeric,Continuous);
for(i = 1, i <= N Items(UniqueItems),i++,
Rows = dt << Select Where(:MyValues == UniqueItems[i]) << Get Selected Rows;
ValsToAppend = Transpose(Index(1,FrequencyOfItems[i]));
dt[Rows,"CumulativeFreqCount"] = ValsToAppend;
dt << Clear Select;
); 
Betreff: Wie ergibt eine Zahlenfolge eindeutige Werte?Danke.Ich habe den Code in eine JMP-Skriptdatei eingefügt (siehe Anhang), aber das Skript wird nicht ausgeführt.Irgendwelche Vorschläge?
Wäre es einfacher, den Code in eine Spaltenformel einzufügen?
Betreff: Wie ergibt eine Zahlenfolge eindeutige Werte?@rs ,
Angenommen, Sie haben einen Verweis auf die Datentabelle – sagen wir dt:
dt1 = dt << Summary(
Group( :Column 1 ),
Freq( "None" ),
Weight( "None" )
)
Wenn die Daten nicht sortiert sind (was normalerweise der Fall sein sollte), können Sie sort() für die resultierende Tabelle verwenden