ValidarFila: Validación de Fila (Genérico).

Description Usage Arguments Details Value Ubicación del método Examples

Description

Este genérico debe ser reemplazado con métodos que utilicen la clase Fila, o de objetos que hereden directamente de la clase.

Usage

1
ValidarFila(Fila, Registro)

Arguments

Fila

Un objeto Fila o descendiente

Registro

es una fila del data frame. Las columnas deben tener los mismos nombres que el slot del objeto Fila@Columnas.

Details

El autor del ETL generará un método con todas las validaciones necesarias para la fila de un conjunto de datos. Deberá devolver un objeto Fila o descendiente, con los campos completos. Especialmente, señalando si la fila se encuentra en error, el índice de los campos que se encuentran en error, y los mensajes de error.

Esta función se llama dentro de AgregarFila; la cual primero verifica si existe un método apropiado para la Fila o descendiente, antes de agregar la fila a la colección de Filas. De lo contrario, carga la fila con el campo FueValidada = FALSE.

Value

Fila o descendiente, con validación si el método existe, o la fila tal cual ingresa en el argumento si el método no existe.

Ubicación del método

Lo más apropiado es definir el método en .GlobalEnv.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
cols <- Columnas(c("ID", "nombre", "peso"), c("integer", "character", "numeric"))

fila <- Fila(cols)

data <-
  data.frame(altura = c(1.3, 2.1, 1, 1.81),
             Nombre = c("Frodo", "Sauron", "Golum", "Gandalf"))

setMethod(
  "ValidarFila",
  signature = c(Fila = "Fila", Registro = "data.frame"),
  definition =
    function(Fila, Registro)
    {
      if ("altura" %in% filaColNombre(Fila))
      {
        if (Registro$altura < 1.5)
        {
          filaError(Fila) <- TRUE
          filaMensajeError(Fila) <- "Altura inapropiada"
          filaColumnaEnError(Fila) <-
            purrr::detect_index(colnames(Registro), function(x)
              x == "altura")
        }
      }
      return(Fila)
    }
  , where = .GlobalEnv
)

fila <-
  Fila( Columnas(Nombres = colnames(data), c("numeric", "character")))

filas <-
  ValidarFilas(Fila = fila, Datos = data)


filasCorrectas(filas)
filasEnError(filas)
filasErrores(filas)
filasErroresPos(filas)
filasStatus(filas)

dawidh15/eccb documentation built on Dec. 19, 2021, 9:10 p.m.