Bienvenidos al sitio

El espacio está destinado a aquellos que están interesados en la metodología de la investigación social y sus aplicaciones, especialmente profesionales, estudiantes e instituciones que requieren apoyo en estas áreas. También pretende enriquecer la comunicación con alumnos, tesistas y colegas. Sean bienvenidos a establecer contacto conmigo para hacer críticas, sugerencias y compartir ideas o pensamientos.

Pablo Cáceres Serrano

Sobre el problema de row.names en matrices

Hace un tiempo hablé de este tema en un post anterior. El problema era que cuando uno convierte un data.frame a matriz, con “as.matrix()” o hace un “cbind()” para pegar columnas, entonces automáticamente se agrega una columna nueva con la numeración de los casos u observaciones. Esta numeración no cambia, a cada fila a la que se ha asignado un valor, quedará con dicho valor como un identificador permanente.

Entonces, el problema era que muchos procedimientos, por ejemplo, los análisis de clasificación, usan un identificador para mostrar la posición de los casos en mapas perceptuales. Este valor ¿es el correspondiente a row.names?

La respuesta es SÍ: efectivamente, los procedimientos analíticos que requieren identificar los casos visualmente, como los mapas del análisis de correspondencias múltiples, exhiben como identificador el valor de row.names. Por esta razón -y aquí va la advertencia- cuando se deseen remover determinados casos hay que buscar al sujeto mostrado en row.names y borrarlo, NO HAY QUE GUIARSE POR LA COLUMNA DE NUMERACIÓN REAL, esa columna es como la primera columna numerada de Excel y si -siguiendo el identificador de row.names- se borran casos, los números de esa columna se renumeran y se pierde el orden original.

En consecuencia, se identifica un valor o caso por su valor en la columna adicionada row.names. Supongamos el 314 de una base de 600 casos. Vamos a la base para eliminar el caso con id: 314, lo buscamos en row.names y luego lo borramos. Si he borrado previamente datos, el caso 314 conservará su id en la columna row.names, pero se renumerará en la columna de numeración inicial. Entonces podría ser posible que el caso 314 se encuentre en la fila real 307.

El peligro consiste en ir a la fila de valores de posición real y borrar la fila 314 creyendo que es el caso identificado por el análisis, craso error porque podría corresponder a otro id de row.names. ¿Se entiende? Eso espero.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>