Encuentre e identifique duplicados para datos sin clasificarBastante nuevo en JMP, por lo que mi conocimiento de cómo usar fórmulas es bastante limitado.
Si tengo una columna de valores (carácter) y quiero identificarlos como duplicados en una columna diferente, ¿qué fórmula usaría? (Mis datos tienen 10 columnas ya ordenadas por valores de una columna diferente)
En el pasado, he usado la siguiente fórmula (cuando los datos que necesitan duplicados identificados se han ordenado alfabéticamente).
Si(
Fila () == 1, 1,
: Columna1! = Retraso (: Columna1), 1,
0
)
Dado que no se me permite presentar datos ordenados de otra manera que no sea la forma en que ingresan, no sé cómo indicar duplicados.
Se agradece cualquier ayuda.
Tabla de datosRe: buscar e identificar duplicados de datos sin clasificar
Quizás esta línea ayude
dt = Tabla de datos actuales ();
dt << Seleccionar filas duplicadas (Match (: column_1,: column_2,: column_3));
Esto seleccionará filas que no son únicas en la combinación superior de las columnas 1 a 3.
Con la selección ahora puede eliminar, ocultar y excluir, llenar una columna adicional o lo que quiera hacer con ellos.
r_select = dt << seleccionar filas (dt << obtener filas seleccionadas); // esto le da un vector de número de fila.
r_select << Eliminar filas;
o
r_select << Ocultar y excluir;
Re: buscar e identificar duplicados de datos sin clasificarGracias por la respuesta.
No creo que me haya explicado bien. Lo que quiero es una columna auxiliar para indicar si un determinado valor está duplicado, tal vez con un "1" que indique todos los duplicados y un "0" que indique que no hay duplicados. No quiero ocultar ni borrar los duplicados.
Re: buscar e identificar duplicados de datos sin clasificarA continuación se muestran al menos dos formas de hacer esto con secuencias de comandos:
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 2, 3, 2, 5, 1]),
Set Display Width(60)
)
);
dt << New column("Dublicate_formula", Numeric, <<FORMULA> 1, 1,0))
);
dt << Select duplicate rows(Match(:column 1));
dubRows = dt << Get Selected Rows;
dt << New Column("Dublicates", Numeric, Nominal);
Column(dt, "Dublicates")[dubRows] = 1;
Column(dt, "Dublicates")[dt << Get Rows Where(IsMissing(:Dublicates))] = 0;</FORMULA>También puede hacer esto sin ningún script:
- Seleccione las columnas que le interesan.
- Desde el menú Filas: Selección de filas -> Seleccionar filas duplicadas
- Menú Filas: Selección de fila -> Selección de nombre en columna
- Elija el nombre, seleccionado como 1 y no seleccionado como 0
Re: buscar e identificar duplicados de datos sin clasificarTambién puede hacer esto como una columna de fórmula usando la fórmula a continuación que usa la tabla de datos de Big Class como ejemplo
If( Row() == 1,
Current Data Table() << select duplicate rows(
Match( :age, :sex, Empty() )
)
);
If( Selected( Row State( Row() ) ),
"Group 1",
"Group 2"
);
Re: buscar e identificar duplicados de datos sin clasificarMuchísimas gracias. Pude marcar sin usar las secuencias de comandos.
¡Aprecio tu ayuda!
Re: buscar e identificar duplicados de datos sin clasificarAquí hay otro ejemplo que usa una fórmula de columna.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Create a column that indicates duplicate names (there are two "Robert")
dt << New Column( "Duplicate", Formula( If( Col Number( Row(), :name ) > 1, 1, 0 ) ) );