Conversión de formato Ancho a Largo en R

ReshapeWideToLong.knit

Formatos del DATAFRAME

Un Dataframe segun la disposicion de los datos puede clasificarse en:

a. Formato “wide”, en el cual las categorias de las variables se muestran como columnas o variables

En la siguiente tabla se puede obervar un ejemplo de la disposicion de los datos en formato wide

year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1981 16.8 16.1 18.5 17.7 18.9 21.4 22.1 22.8 22.9 21.7 21.3 18.9
1982 17.7 17.3 17.6 18.0 19.5 21.0 23.1 22.9 22.7 21.9 20.0 17.4
1983 16.9 17.0 18.3 18.7 18.9 21.9 22.5 22.9 24.4 23.9 21.0 18.9
1984 17.6 17.2 17.7 19.1 19.2 20.6 23.7 22.9 23.1 22.3 19.9 18.1
1985 16.8 17.3 17.8 18.7 18.9 22.1 22.8 24.3 24.0 22.8 20.8 18.4
1986 17.3 16.9 17.2 17.5 19.8 20.3 21.8 23.2 23.8 21.9 19.7 18.0

b. Formato “Long”, donde existe una variable para las categorias y otra variable para los valores correspondientes de estas categorias.

En la siguiente tabla se puede observar un ejemplo de la disposcion de los datos en formato long

year Id mes temperatura
1981 1 Jan 16.8
1982 2 Jan 17.7
1983 3 Jan 16.9
1984 4 Jan 17.6
1985 5 Jan 16.8
1986 6 Jan 17.3

Transformacion de formato Wide a Long

En algun momento durante la manipulacion de datos, se va a requerir trabajar con uno u otro formato. Vamos a explicar como convertir de formato wide a long debido a que este ultimo formato es el mas practico en R

  1. Los paquetes utilizados
require(tidyverse)
require(rstatix)
  1. Es importante que exista una columna Idkey
nrow(tempMediagando)
tempMediagando<-cbind(tempMediagando,Id=c(1:length(tempMediagando$year)))
  1. Utilizamos el comando gather:
  • Key, creamos una variable que va a contener las categorias que ahora son columnas. e.g “Jan”,“Feb”… y que se convertiran en categorias en esta nueva variable.
  • Value, son los nombres de la columnas que se va transformar e.g “Jan”,“Feb”….
  • Convert_as_factor, es recomendable colocar como factor el Idkey, en este caso tambien se uso el año debido a que tambien era un factor unico en la tabla en formato wide.
base<-tempMediagando %>% 
        gather(key="mes",value="temperatura","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") %>% 
        convert_as_factor (Id,year)
 
#dabernedo@gmail.com

Comentarios

Entradas populares de este blog

Modelos aditivos y Multiplicativos en la Componente Estacional

GRÁFICOS DE LINEAS EN R