Come faccio a identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Ciao a tutti,
Ho una colonna composta da parole che hanno una combinazione di caratteri diversi (es. AAAAAAAAAAA - parola con 10 caratteri). Voglio identificare in una colonna adiacente le parole che hanno più di 2 caratteri diversi (es. A B AAAA CE AA). La posizione in cui le lettere sono diverse non ha importanza e, inoltre, alcune parole possono anche essere più corte o più lunghe della mia parola di riferimento.
Pertanto, voglio ottenere una formula che mi permetta di distinguere/identificare parole che hanno meno/più di 2 caratteri diversi differiscono dalla mia sequenza di riferimento e hanno la stessa lunghezza. Sono ancora un principiante in JMP e non so se è possibile ottenerlo. Fatemi sapere se avete suggerimenti 
Tabella datiRe: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Dai un'occhiata alla tabella allegata, che dovrebbe darti un inizio. Il cuore di esso è una Colonna Formula (chiamata 'Decisione' e indicata dal segno '+' nel pannello delle colonne della tabella. Cliccando sul '+' si ottiene:

Hai bisogno di una certa conoscenza di JSL per capirlo e puoi usare "Aiuto > Indice degli script" per capire esattamente come funziona, se necessario.
Re: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Molti modi per farlo. Ecco un'opzione aggiuntiva:
Names Default To Here(1);
/*
a = "ABAAAACEAA";
b = "AAAAAAAAAA";
Show(!IsMissing(Substitute(a, Left(a,1), "")));
Show(!IsMissing(Substitute(b, Left(b,1), "")));
*/
New Table("Untitled 2",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"ABAAAACEAA", "AAAAAAAAAA", "BBBBAAA"})),
New Column("Column 2",
Numeric,
"Continuous",
Format("Best", 12),
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
)
);
Colonna1 è la colonna con i caratteri
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
in questo semplice esempio l'idea è quella di sostituire tutti i valori nella stringa trovata dalla prima posizione e se sono rimasti ancora dei caratteri, sappiamo che c'era più di 1 carattere nella stringa. Se hai più di un valore da sostituire, dovresti essere in grado di usare la stessa idea modificando gli argomenti della funzione Sostituisci
Re: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Ciao Ian,
Grazie per il feedback. Ho provato a implementare la formula che hai scritto ma non riesco a capire dove posso definire che la mia sequenza di riferimento è AAAAAAA e non qualcos'altro. Ho sostituito "" nella selezione degli articoli con "AAAAAAAA" ma il risultato non era corretto. Qualche suggerimento su come posso aggiornare la formula che hai scritto?
Re: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Ciao Jthi, grazie per il suggerimento.
Ad essere sincero sto ancora cercando di capire la formula :'). Nel file su cui sto lavorando, ho solo una parola di riferimento e devo schermare più di un milione di voci di riga con ogni possibile combinazione di posizione/lettera. Presumo che questa formula non funzionerebbe perché non riesco a definire quei valori nella formula. Sarebbe possibile adattarlo considerando un grande database Ive?
Re: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Mi sembra di aver frainteso cosa intendevi con " Voglio identificare in una colonna adiacente le parole che hanno più di 2 caratteri differenti ". Quello che ho suggerito sarebbe contrassegnare le righe in cui ogni cella nella colonna di origine contiene una stringa che è essa stessa composta da più di due caratteri distinti (quindi non esiste una sequenza o una stringa di riferimento).
Re: Come posso identificare le parole (usando la formula nella colonna) che hanno più di 2 caratteri diversi dalla mia parola di riferimento?Abbiamo bisogno di altri esempi. Qual è il numero di differenze per (non specificare eccessivamente, indicare dove non è importante).
ref = "AEIOUA" // cerco di capire la regola per la lettera ripetuta
test = "AEIOUA" // nDiff = 0 per stringa identica
test = "AAEIOU" // nDiff = ? per le stesse lettere, riordinato
test = "AEIOU" // nDiff = ? per le stesse lettere, ne manca una a destra
test = "EIOUA" // nDiff = ? per le stesse lettere, ne manca una a sinistra
test = "EIOU" // nDiff = ?
test = "AA" // dDiff = ?
test = "AXA" // dDiff = ?
test = "AXXXXA" // dDiff = ? per la lunghezza corrispondente
test = "AEUOA" // dDiff = ? per lettere interne scambiate
test = "AEIOUEIOU" // nDiff = ? per lettere ripetute
Queste risposte aiuterebbero a scegliere un algoritmo:
Hai detto ~1e6 parole di prova; quante parole di riferimento stai guardando?
Avrai bisogno di risposte diverse da "sì/no ci sono più di 2 differenze"? Il conteggio delle differenze sarà utile?