Wert in mehreren Zeichen zählen und Position markieren?Hallo, wie kann ich die Zahlen 0,1,2 aus der 1. Merkmalsspalte wie unten zählen? Vielen Dank! (x = fehlt)
| Muster | Anzahl 0 | Anzahl 1 | Anzahl 2 | Position 0 | Stellung 1 | Stellung 2 |
| x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 26 | 1 | 0 | 2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 | 4 | 0 |
| 2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0 | | | | | | |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0 | | | | | | |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1 | | | | | | |
| 2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2 | | | | | | |
Grundlegende Datenanalyse und ModellierungBetreff: Wert in mehreren Zeichen zählen und Position markieren?Loc() kann Ihnen die Indizes liefern. Unten finden Sie eine schnelle und einfache Lösung
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Pattern",
Character,
"Nominal",
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}
)
)
);
vals = {"0", "1", "2"};
For Each({val}, vals,
new_col1 = dt << New Column("Count " || val, Numeric, Continuous, Formula(
N Items(Loc(Words(:Pattern, ","), val));
));
new_col2 = dt << New Column("Position " || val, Character, Nominal, Formula(
Char(Substitute(Char(Loc(Words(:Pattern, ","), val);), "[", "", "]", "", " ", ""));
));
dt << run formulas;
new_col1 << delete formula;
new_col2 << delete formula;
);Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hallo jthi,
Vielen Dank für Ihre Hilfe. Aber wenn ich mehrere Zeilen habe, kann ich dann die Matrix oder einen anderen Befehl anstelle des
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}Danke schön!
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Holen Sie sich den Verweis auf Ihre Datentabelle in der dt-Variable (zum Beispiel gibt Open() einen Verweis auf die Tabelle zurück, die geöffnet wurde) und das Skript sollte funktionieren, solange die Spalte Pattern heißt.
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Vielen Dank, aber ich meine, dass ich 6453 Zeilen habe (und dass ich alle Daten in „set value { }“ kopieren muss). Können Sie mir bitte eine bessere Lösung dafür anbieten? Vielen Dank.
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Sie müssen nichts kopieren. Holen Sie sich einfach einen Verweis auf Ihre Datentabelle.
dt = Open("pathtomytable");
oder
dt = Datatable("mytablename")
oder (normalerweise eine schlechte Option, tut aber von Zeit zu Zeit, was Sie brauchen)
dt = Current Data Table();
Sie verwenden diejenige, die Ihren Anforderungen entspricht, um diesen Teil meiner Lösung zu ersetzen
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Pattern",
Character,
"Nominal",
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}
)
)
);
Mehr sehen...For example
Names Default To Here(1);
dt = Current Data Table();
vals = {"0", "1", "2"};
For Each({val}, vals,
new_col1 = dt << New Column("Count " || val, Numeric, Continuous, Formula(
N Items(Loc(Words(:Pattern, ","), val));
));
new_col2 = dt << New Column("Position " || val, Character, Nominal, Formula(
Char(Substitute(Char(Loc(Words(:Pattern, ","), val);), "[", "", "]", "", " ", ""));
));
dt << run formulas;
new_col1 << delete formula;
new_col2 << delete formula;
);
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hallo Jarmo,
Vielen Dank. Es ist Arbeit.
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Wollen Sie damit sagen, dass sich Ihre tatsächlichen Daten derzeit in einer JMP-Matrix und nicht in einer JMP-Datentabelle befinden?
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hallo Jim,
Es ist mein Fehler, verstanden. Meine Daten befinden sich in der JMP-Tabelle. Jarmo hat bereits daran gearbeitet. Haben Sie außerdem eine Idee, wie man die Daten in der Spalte „Muster“ in dieselben Gruppen einteilen kann? So sind beispielsweise die Positionen 1–5 mit dem Wert 1 dieselben wie die Positionen 6–8 mit dem Wert 1. (Wie kann man dasselbe Wertemuster an mehreren Positionen generieren?)
| Muster | Mustername |
| 0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 1 |
| 0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 1 |
| 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 2 |
| 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2 | 3 |
| 0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0 | 3 |
| 0,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,x,0 | 4 |
| 0,0,0,1,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0 | 4 |
| 1,0,0,0,0,1,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0 | 4 |
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hierzu können Sie auf verschiedene Weise vorgehen.
- Verwenden Sie „Recode“, um eine neue Spalte zu erstellen, die die neuen Gruppenwerte enthält.
- Legen Sie die Spalteneigenschaft der Zählspalte mit dem Namen „Wertebeschriftungen“ fest und verwenden Sie die Option „Bereiche zulassen“, um die angezeigten Werte zu ändern.
- Write a little script that creates a new column and does the binning
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Count 1 Bins",
character,
set each value(
If(
:Count 1 <= 5, "1-5",
:Count 1 <= 10, "6-10",
:Count 1 <= 15, "11-15"
)
)
);
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hallo Jim,
Vielen Dank, aber wenn ich 1 und 2 versuche, scheint es aufgrund der vielen Datenzeilen (6000+) schwierig zu sein. Die 3 funktioniert nicht, da mehrere Muster darauf vorhanden sind (2000 Muster mit 28 Positionen in 6000 Zeilen).
Beste grüße,
Theerachai
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Mein Missverständnis. Meine Antwort an Sie lautet nun, dass ich sicher bin, dass JMP das tun kann, was Sie wollen … wenn Sie die Regeln definieren können, nach denen bestimmt wird, was eine Gruppe ist?
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Hallo Jim, danke, ich versuche, das Datenmuster zu kombinieren. Im Allgemeinen sind meine Datenpositionen 1-5, 6-9, 10-11, 12-17, 18-22, 23-25 und 26-28 dieselben Kategorien, wenn sie dieselben 0-2 Punkte haben (ohne die Position in jeder Kategorie festzulegen). Außerdem wären die Kategorien manchmal 11-17, 1 5 6 8 13 18 23 26, 2 7 19 24 25 27 28, 3 9, 4 20 22 und 21. Und ich möchte in allen Daten andere Muster finden. Könnten Sie mir bitte helfen?
Danke schön!
Betreff: Wert in mehreren Zeichen zählen und Position markieren?Ich bin immer noch verwirrt. Sie haben eine Beispieldatentabelle angehängt. Könnten Sie bitte eine oder mehrere bestimmte Zeilen aus der Beispieldatentabelle nehmen und die Logik durchgehen, wie Sie die Daten aus der Zeile analysieren würden?