jueves, 22 de septiembre de 2011

Pasar a formato MANOVA

A veces, cuando se hace una corrida de MANOVA, los datos no sirven tal cual. Por ejemplo, en este caso que sigue tenemos un listado de ciduades y su gasto promedio en transporte para cada año. Pero es una base relacional, nosotros necesitamos una donde el año sea una variable, o mejor dicho un factor, es decir, no estará en una columna. Siendo así, la tabla como está, requiere un ajuste:


tenemos las variables 

id. 
CVE_LOC_SU 
NOM_LOC_SU 
POB2010 
Hog2000 
TotTr2000 
TtTrPr2010 
TotRnt2000 
RntEstim2000 
Hog2005 
TotTr2005 
TtTrPr2005 
TotRnt2005 
RntEstim2005 
Hog2010 
TrTot2010 
TtTrPr2005 
TotRnt2010 
RntEstim2005  

Pero realmente queremos una base del siguiente modo
id. 
CVE_LOC_SU 
NOM_LOC_SU 
POB2010 
Año
Hog 
TotTr 
TtTrPr 
TotRnt 
RntEstim 

Así el año pdrá ser considerado un factor y podrá entrar a un examen de MANOVA.



La forma más fácil de hacerlo es con una macro grabada. Lo que hacemos es ubicarnos en el primer valor en E2, y damos la instrucción de grabar la macro en modo relativo. Y hacemos el trabajo una sóla vez, ese trabajo consiste en lo siguiente:

Bajar una celda, marcar dos celdas hacia abajo, insertar dos renglones, copiar los valores de j2 a n2 justo abajo, osea en e3 a i3, y los de o2 a s2 en e4 a i4. Si repetimos la operación queda así.


eso lo repetimos 91 veces con una macro que queda así:

Sub AformatoAnova()
'
' Macro2 Macro
'

For N = 1 To 91

'
    ActiveCell.Offset(1, 0).Range("A1:A2").Select
    Application.CutCopyMode = False
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveCell.Offset(-1, 5).Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Cut
    ActiveCell.Offset(1, -5).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(0, 5).Range("A1:E1").Select
    Selection.Cut
    ActiveCell.Offset(1, -5).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(1, 0).Range("A1").Select


Next

End Sub


Y al final nos queda esto:




Ahora se necesita completar la tabla en cada lugar vacío con el valor de arriba. eso se logra con la macro que explicamos en este mismo blog:

http://tonamini-prog.blogspot.com/2011/08/macro-en-excel-para-relleno-con.html

Queda así:



Sólo falta añadir el año, lo cual simplemente es repetir 2000,2005 y 2010 en una columna en todos los valores.


Y así es como queda finalmente lista para correrle un MANOVA. El año será un factor y se podrá saber como varía la información en el tiempo para los tres periodos establecidos. Ahora se le cambian el nombre a las variables, pues ya no son cada columna para cada época sino para todas con una variable de año.


No hay comentarios:

Publicar un comentario