oreshape: oreshape - Olito's reshape

View source: R/oreshape.R

oreshapeR Documentation

oreshape - Olito's reshape

Description

Es un wrapper del reshape de data.table, la idea es que sea más sencillo y parecido al de Stata en donde se debe identificar a todo evento una serie de parametros. Evita que de wide a long las variables sean del mismo tipo si son stub, el n de variables stub debe ser el mismo, pero no es necesario que el identificador de tiempo sea un numero. Todos los parametros (excepto la data) van entre comillas

Usage

oreshape(
  idvar = NULL,
  stub = NULL,
  tiempo = NULL,
  data = NULL,
  direction = NULL
)

Arguments

idvar

variable que identifica a cada sujeto o unidad muestral

stub

base o prefijo de las medidas repetidas, de long a wide es la medicion repetida, puede ser un vector de stubs

tiempo

es la variable que indica la medida repetida, de wide a long es el nombre que tendra luego de la transformacion

data

datos en formato data.table, si no viene asi se aplica este formato

direction

direccion de la transformacion 'long' o 'wide' en minuscula

Value

devuelve un data.table object

Examples


# # Armar datos -----------------------
# # El indometh es de "datasets"
# write.table(Indometh, "datos.txt", sep = ",", row.names = FALSE)
# datos <- fread("datos.txt")
# setnames(datos, c("Subject", "time", "conc"), c("id", "tiempo", "num"))
#
# # Crear una variable fija
# datos[(datos[, id] %in% c(1, 2, 3)), sexo := "Hombre"]
# datos[(datos[, id] %in% c(4, 5, 6)), sexo := "Mujer"]
#
# # Crear una data adicional pero en string
# datos[, char := rep(letters[], length.out = 66)]
#
# # Desbalancear data
# datos <- datos[-c(15:18, 52:53, 60),]
# datos[, .N, by = id]
#
# # Simplificar el tiempo
# datos[, .N, by = tiempo]
# lookup <- data.table(tiempo = unique(datos[, tiempo]), to = 1:11)
# datos[lookup, on = "tiempo", tiempo := i.to]
# rm(lookup)
#
# # Agregar algunos NA
# datos[c(4, 23, 45), num := NA]
# datos[c(2, 15, 25), char := NA]
#
# setnames(datos, 'tiempo', 'semana')
#
#
# # Pruebas ---------------------------
# # Con 2 variables stub
# head(datos)
# wideDF <- oreshape(idvar = "id", stub = c("num", "char"),
#            tiempo = "semana", data = datos, direction = "wide")
# longDF <- oreshape(idvar = "id", stub = c("num_", "char_"),
#         tiempo = "semana", data = wideDF, direction = "long")
#
# # Con 1 variable stub
# datos[, char := NULL]
# wideDF <- oreshape(idvar = "id", stub = "num",
#            tiempo = "semana", data = datos, direction = "wide")
# longDF <- oreshape(idvar = "id", stub = "num_",
#            tiempo = "semana", data = wideDF, direction = "long")


olitroski/olibrary documentation built on Oct. 20, 2022, 2:42 p.m.