Contare il valore in più caratteri e contrassegnare la posizione?Ciao, come posso contare il numero 0,1,2 dalla colonna delle caratteristiche 1 come di seguito? Grazie mille! (x = mancante)
| Modello | Conta 0 | Conta 1 | Conta 2 | Posizione 0 | Posizione 1 | Posizione 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,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 | | | | | | |
Analisi e modellazione dei dati di baseRi: Contare il valore in più caratteri e contrassegnare la posizione?Loc() può procurarti gli indici. Di seguito è riportata una soluzione rapida e sporca
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;
);Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ciao Jthi,
Grazie per l'aiuto. Ma se ho più righe, posso usare la matrice o un altro comando invece di
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"}Grazie!
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ottieni il riferimento al tuo datatable alla variabile dt (ad esempio Open() restituirà un riferimento alla tabella che è stata aperta) e lo script dovrebbe funzionare finché la colonna è denominata Pattern
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Grazie, ma intendo che ho 6453 righe (di cui ho bisogno per copiare tutti i dati in "set value { }". Potresti fornirmi una soluzione migliore a questo? Grazie mille.
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Non è necessario copiare nulla. Ottieni semplicemente un riferimento alla tua tabella dati.
dt = Open("pathtomytable");
O
dt = Datatable("mytablename")
o (di solito una pessima opzione ma fa quello che ti serve di tanto in tanto)
dt = Current Data Table();
Usa quello che si adatta alle tue esigenze per sostituire questa parte della mia soluzione
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"}
)
)
);
Visualizza altro...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;
);
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ciao Jarmo,
Grazie mille. È lavoro.
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Stai dicendo che i tuoi dati effettivi sono attualmente in una matrice JMP, non in una tabella dati JMP?
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ciao Jim,
È colpa mia, capito. I miei dati sono sulla tabella JMP. Ha già funzionato su Jarmo consigliato. Inoltre, hai un'idea per creare i dati nella colonna "modello" per raggrupparli negli stessi gruppi?. ad esempio le posizioni 1-5 con il valore 1 equivalgono alle posizioni 6-8 con il valore 1. (come generare lo stesso modello di valore in più posizioni?)
| Modello | Nome del modello |
| 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,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,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,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, 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, 2,2,2 | 3 |
| 0,0,0,0,0,0,0,0,0,0,0,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,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,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,0,0,0,0,0,0,0,0, 0,0,0 | 4 |
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Esistono diversi modi per farlo.
- Utilizzare Ricodifica per creare una nuova colonna che avrà i nuovi valori del gruppo.
- Imposta la proprietà Colonna della colonna di conteggio denominata Etichette valore e utilizza l'opzione "Consenti intervalli" per modificare i valori visualizzati
- 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"
)
)
);
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ciao Jim,
Grazie mille, ma quando provo 1 e 2, sembra difficile a causa di molte righe di dati (6000+). La dose da 3 non funziona perché su di essa sono presenti più modelli (modello 2000 di 28 posizioni in 6000 righe).
Distinti saluti,
Theerachai
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Il mio malinteso. Ora la mia risposta è che sono sicuro che JMP può fare quello che vuoi.......se puoi definire le regole su come determinare cos'è un gruppo?
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Ciao Jim, grazie, provo a combinare lo schema dei dati. In generale, le posizioni dei miei dati 1-5, 6-9,10-11,12-17, 18-22, 23-25 e 26-28 sono le stesse categorie se hanno gli stessi punti 0-2 (senza fissare posizione in ciascuna categoria) inoltre, a volte, le categorie sarebbero 11-17, 1 5 6 8 13 18 23 26, 2 7 19 24 25 27 28, 3 9, 4 20 22 e 21. E voglio trovare altri modelli in tutti i dati. Potresti per favore guidarmi?
Grazie!
Ri: Contare il valore in più caratteri e contrassegnare la posizione?Rimango confuso. Hai allegato una tabella dati di esempio. Potresti prendere una o più righe specifiche dalla tabella dati di esempio e seguire la logica su come analizzeresti i dati dalla riga?