Tengo un marco de datos de 9 columnas que consta de un inventario de factores. Cada fila puede tener las 9 columnas llenas (como en esa fila tiene 9 "cosas"), pero la mayoría no (la mayoría tiene entre 3 y 4). Las columnas tampoco son específicas, como si el elemento 200 aparece en las columnas 1 y 3, es lo mismo. Me gustaría crear una matriz que sea binaria para cada fila que incluya todos los factores.¿Cómo crear una matriz binaria de inventario por fila? (R)
Ex (abreviado a 4 columnas sólo para señalar al otro lado)
R1 3 4 5 8
R2 4 6 7 NA
R3 1 5 NA NA
R4 2 6 8 9
debe convertirse en
1 2 3 4 5 6 7 8 9
r1 0 0 1 1 1 0 0 1 0
r2 0 0 0 1 0 1 1 0 0
r3 1 0 0 0 1 0 0 0 0
r4 0 1 0 0 0 1 0 1 1
He mirado en writeBin/readBin, K-agrupación (que es algo que Me gustaría hacerlo, pero primero necesito deshacerme de las NA), clustering difuso, agrupamiento de etiquetas. Simplemente perdido acerca de qué dirección tomar.
He intentado escribir dos bucles para extraer los datos de la matriz por columna/fila y luego guardar 0 y 1 respectivamente en una nueva matriz, pero creo que hubo problemas de alcance.
Ustedes son los mejores. ¡Gracias!
+1 Esa frase me deja boquiabierto. –
Josh, esto es impresionante. ¿Hay un término para lo que se llama? Estaba pensando en la matriz de inventario, la matriz de elementos o la matriz binaria, pero todos parecen relacionarse con otras ideas. –
Gracias. Pienso en * el resultado * como una matriz de indicadores (después de la [función de indicador] (http://en.wikipedia.org/wiki/Indicator_function)) de una matriz de presencia/ausencia (porque codifica si o no cada artículo está presente o ausente en una fila dada). Sin embargo, no estoy seguro si hay un nombre general aceptado para ello. –