Skip to content

Commit

Permalink
Inicial
Browse files Browse the repository at this point in the history
Merge branch 'dev'

# Conflicts:
#	NAMESPACE
#	R/curp.R
#	R/plickers.R
#	R/tidy_data.R
#	README.md
#	man/edu_ejemplo_datos_plickers.Rd
#	man/edu_extract_curp.Rd
#	man/edu_read_plickers.Rd
  • Loading branch information
fjrojast committed Nov 22, 2023
2 parents 897233c + 5d31f73 commit 2f6e098
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 148 deletions.
3 changes: 2 additions & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Imports:
magrittr,
readr,
tidyr,
stringr
stringr,
tibble
Suggests:
rlang,
qpdf,
Expand Down
16 changes: 9 additions & 7 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,24 +1,21 @@
# Generated by roxygen2: do not edit by hand

<<<<<<< HEAD
export(edu_ejemplo_datos_plickers)
export(edu_ejemplo_listado_estudiantes)
export(edu_extract_curp)
export(edu_join_similar)
export(edu_read_plickers)
=======
export(e_unir_semejantes)
export(edu_ejemplo_datos_plickers)
export(edu_ejemplo_listado_estudiantes)
export(read_plickers)
>>>>>>> refs/remotes/origin/main
import(stringr)
importFrom(dplyr,across)
importFrom(dplyr,all_of)
importFrom(dplyr,bind_cols)
importFrom(dplyr,c_across)
importFrom(dplyr,case_match)
importFrom(dplyr,cur_column)
importFrom(dplyr,join_by)
importFrom(dplyr,left_join)
importFrom(dplyr,mutate)
importFrom(dplyr,pull)
importFrom(dplyr,relocate)
importFrom(dplyr,rename)
importFrom(dplyr,rename_with)
Expand All @@ -27,13 +24,18 @@ importFrom(dplyr,select)
importFrom(dplyr,slice)
importFrom(forcats,as_factor)
importFrom(janitor,clean_names)
importFrom(lubridate,dmonths)
importFrom(lubridate,dmy)
importFrom(lubridate,dyears)
importFrom(lubridate,interval)
importFrom(lubridate,now)
importFrom(lubridate,ymd)
importFrom(magrittr,"%<>%")
importFrom(magrittr,"%>%")
importFrom(purrr,as_vector)
importFrom(readr,read_csv)
importFrom(readr,read_file)
importFrom(tibble,as_tibble)
importFrom(tidyr,pivot_longer)
importFrom(tidyr,separate_wider_regex)
importFrom(tidyr,unnest)
66 changes: 21 additions & 45 deletions R/curp.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@

#'
#' @param curp Especifica la curp desde la cual se van a obtener los datos
#' @param dato_a_obtener Especificar el dato a obtener, dentro de las siguientes: fecha_nacimiento, genero, genero_largo, edad_anios, edad_meses, combinacion_el_la, combinacion_l_la, combinacion_al_ala, combinacion_del_dela, combinacion_o_a, combinacion_o_a2

#' @param dato_a_obtener Especificar el dato a obtener, dentro de las siguientes: estado_nacimiento, estado_nacimiento_largo, fecha_nacimiento, genero, genero_largo, edad_anios, edad_meses, combinacion_el_la, combinacion_l_la, combinacion_al_ala, combinacion_del_dela, combinacion_o_a, combinacion_o_a2

#' @param matches_ fecha_calculo_edad. Es un dato opcional y aplica para cuando se requiere cálculos de edades. Si no se especifica, automáticamente realiza el cálculo con relación a la fecha actual de la computadora. Sin embargo hay casos en los que se necesita saber la edad que tenía la persona a la que corresponde la curp, por ejemplo el día primero de septiembre de 2023. En ese caso, se especifica "2023-09-01"
#'
#' @examplesIf interactive()
Expand Down Expand Up @@ -71,51 +73,25 @@ edu_extract_curp <- function(curp,dato_a_obtener,fecha_calculo_edad=now()) {
estados <- read_csv("~/EduToolsR/data/edu_estados_mx.csv",show_col_types = F)
# readr::read_csv(system.file("data", "edu_estados_mx.csv", package = "EduToolsR"),show_col_types = F)

# resultado <- curp %>%
# as_tibble() %>%
# transmute(
# resultado = case_match(
# {{ dato_a_obtener }},
# "fecha_nacimiento" ~ curp %>% str_sub(5, 10),
# "genero" ~ curp %>% str_sub(11, 11),
# "genero2" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "Hombre", "M" ~ "Mujer"),
# "edad_anios" ~ interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dyears(1) %>% as.character(),
# "edad_meses" ~ interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dmonths(1) %>% as.character(),
# "combinacion_el_la" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "el", "M" ~ "la"),
# "combinacion_l_la" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "l", "M" ~ " la"),
# "combinacion_al_ala" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "al", "M" ~ "a la"),
# "combinacion_del_dela" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "del", "M" ~ "de la"),
# "combinacion_o_a" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "", "M" ~ "a"),
# "combinacion_o_a2" ~ case_match(curp %>% str_sub(11, 11), "H" ~ "o", "M" ~ "a"),
# "estado_nacimiento" ~ curp %>% str_sub(12, 13),
# "estado_nacimiento_largo" ~ left_join(curp %>% str_sub(12, 13) %>% as_tibble(), estados, join_by(value == estado_cod)) %>% pull(estado_nombre)
# )
# ) %>%
# pull(resultado)





resultado <- curp %>%
as_tibble() %>%
mutate(

fecha_nacimiento= curp %>% str_sub(5, 10) %>% ymd,
genero= curp %>% str_sub(11, 11) %>% as_factor(),
genero_largo= case_match(curp %>% str_sub(11, 11), "H" ~ "Hombre", "M" ~ "Mujer") %>% as_factor,
edad_anios= interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dyears(1) ,
edad_meses=interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dmonths(1) ,
combinacion_el_la= case_match(curp %>% str_sub(11, 11), "H" ~ "el", "M" ~ "la"),
combinacion_l_la= case_match(curp %>% str_sub(11, 11), "H" ~ "l", "M" ~ " la"),
combinacion_al_ala= case_match(curp %>% str_sub(11, 11), "H" ~ "al", "M" ~ "a la"),
combinacion_del_dela= case_match(curp %>% str_sub(11, 11), "H" ~ "del", "M" ~ "de la"),
combinacion_o_a= case_match(curp %>% str_sub(11, 11), "H" ~ "", "M" ~ "a"),
combinacion_o_a2= case_match(curp %>% str_sub(11, 11), "H" ~ "o", "M" ~ "a"),
estado_nacimiento= curp %>% str_sub(12, 13),
estado_nacimiento_largo= left_join(curp %>% str_sub(12, 13) %>% as_tibble(), estados, join_by(value == estado_cod)) %>% pull(estado_nombre)
) %>%
pull({{dato_a_obtener}})
resultado <- curp %>%
as_tibble() %>%
mutate(
fecha_nacimiento = curp %>% str_sub(5, 10) %>% ymd(),
genero = curp %>% str_sub(11, 11) %>% as_factor(),
genero_largo = case_match(curp %>% str_sub(11, 11), "H" ~ "Hombre", "M" ~ "Mujer") %>% as_factor(),
edad_anios = interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dyears(1),
edad_meses = interval(curp %>% str_sub(5, 10), fecha_calculo_edad) %/% dmonths(1),
combinacion_el_la = case_match(curp %>% str_sub(11, 11), "H" ~ "el", "M" ~ "la"),
combinacion_l_la = case_match(curp %>% str_sub(11, 11), "H" ~ "l", "M" ~ " la"),
combinacion_al_ala = case_match(curp %>% str_sub(11, 11), "H" ~ "al", "M" ~ "a la"),
combinacion_del_dela = case_match(curp %>% str_sub(11, 11), "H" ~ "del", "M" ~ "de la"),
combinacion_o_a = case_match(curp %>% str_sub(11, 11), "H" ~ "", "M" ~ "a"),
combinacion_o_a2 = case_match(curp %>% str_sub(11, 11), "H" ~ "o", "M" ~ "a"),
estado_nacimiento = curp %>% str_sub(12, 13),
estado_nacimiento_largo = left_join(curp %>% str_sub(12, 13) %>% as_tibble(), estados, join_by(value == estado_cod)) %>% pull(estado_nombre)
) %>%
dplyr::pull({{ dato_a_obtener }})

return(resultado)

Expand Down
39 changes: 11 additions & 28 deletions R/plickers.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@

## usethis namespace: start
#' @importFrom dplyr mutate
#' @importFrom dplyr pull
#' @importFrom dplyr left_join
#' @importFrom dplyr case_match
#' @importFrom dplyr join_by
#' @importFrom lubridate interval
#' @importFrom lubridate now
#' @importFrom lubridate dyears
#' @importFrom lubridate dmonths
#' @importFrom tibble as_tibble
#' @importFrom readr read_file
#' @importFrom lubridate ymd
#' @importFrom lubridate dmy
Expand Down Expand Up @@ -35,10 +44,8 @@

# Datos ejemplo -----------------------------------------------------------

<<<<<<< HEAD
# ejemplo <- system.file("data", "edu_ejemplo_datos_plickers.csv", package = "EduToolsR")
=======
>>>>>>> refs/remotes/origin/main


#' @title Datos de ejemplo desde plickers
#' @description
Expand All @@ -49,23 +56,10 @@
#' @examplesIf interactive()
#' data(edu_ejemplo_datos_plickers)
#' head(edu_ejemplo_datos_plickers)
<<<<<<< HEAD
#' ejemplo |> edu_read_plickers()
#' edu_read_plickers(ejemplo)
#'
#' @export
edu_ejemplo_datos_plickers <- readr::read_file(system.file("data", "edu_ejemplo_datos_plickers.csv", package = "EduToolsR")) #%>% as.vector()#%>% paste(collapse="\n")

# edu_ejemplo_datos_plickers <- readr::read_file("~/EduToolsR/data/edu_ejemplo_datos_plickers.csv")
=======
#' edu_ejemplo_datos_plickers |> read_plickers()
#' read_plickers(edu_ejemplo_datos_plickers)
#'
#' @export
edu_ejemplo_datos_plickers <- readr::read_file(system.file("data", "edu_ejemplo_datos_plickers.csv", package = "EduToolsR")) %>% as.vector()#%>% paste(collapse="\n")

>>>>>>> refs/remotes/origin/main




Expand All @@ -91,21 +85,10 @@ edu_ejemplo_datos_plickers <- readr::read_file(system.file("data", "edu_ejemplo_
#' @examplesIf interactive()
#' # Ejemplos de uso de la función
#' edu_ejemplo_datos_plickers |> read_plickers()
<<<<<<< HEAD
#' edu_read_plickers(edu_ejemplo_datos_plickers)
#'
#' @export
#'
#'


edu_read_plickers <- function(origin=ejemplo, fecha = lubridate::now()) {
=======
#' read_plickers(edu_ejemplo_datos_plickers)
#'
#' @export
read_plickers <- function(origin, fecha = lubridate::now()) {
>>>>>>> refs/remotes/origin/main

plickers <- readr::read_csv(origin, col_names = F, show_col_types = F)

metadatos <- plickers[1, 1] %>%
Expand Down
10 changes: 1 addition & 9 deletions R/tidy_data.R
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,15 @@ edu_ejemplo_listado_estudiantes <- readr::read_csv(system.file("data", "edu_ejem
#'
#' # Esta es la tibble a la cual se renombraron las columnas nombre_completo, nombre y nombres como una sola: alumno
#'
<<<<<<< HEAD

#' edu_join_similar(e_ejemplo_estudiantes,"alumno","nombre_completo|nombre|nombres")
#'
#' edu_ejemplo_listado_estudiantes |> edu_join_similar("alumno","nombre_completo|nombre|nombres")
#'
#' @export

edu_join_similar <- function(tibble_procesar,nombre,matches_){
=======
#' edu_unir_semejantes(e_ejemplo_estudiantes,"alumno","nombre_completo|nombre|nombres")
#'
#' edu_ejemplo_listado_estudiantes |> e_unir_semejantes("alumno","nombre_completo|nombre|nombres")
#'
#' @export

e_unir_semejantes <- function(tibble_procesar,nombre,matches_){
>>>>>>> refs/remotes/origin/main
tibble_procesar %>% #select() %>%
rowwise() %>%
mutate( {{nombre}} := paste(na.omit(dplyr::c_across(matches(matches_))), collapse = " ")) %>%
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# EduToolsR

<<<<<<< HEAD
=======

>>>>>>> dev
Este repositorio proporciona herramientas útiles que abonan a la construcción de marcos descriptivos como parte del paradigma socioformativo de formación, en donde se integran gradualmente diversas herramientas que favorecen el conocimiento del contexto escolar y comunitario de los estudiantes con los que se trabaja, así como la evaluación formativa como herramienta fundamental que pueden utilizar docentes y educadores en general.

Proporciona además herramientas que facilitan las tareas administrativas de los docentes, siendo hasta el momento la obtención de información a través de la Clave Unica de Registro de Población (CURP) de México, así como las cédulas en PDF que otorgan las autoridades mexicanas y que sirven como identificador para los estudiantes.
Expand All @@ -17,10 +21,15 @@ Considerando que es perfectamente normal y esperable que la evaluación provenga
### Transformación de Datos desde Plickers

El objetivo principal de esta función es facilitar la evaluación formativa que los docentes realizan al transformar la información en formato csv, exportada desde desde Plickers, -un servicio ampliamente utilizado para realizar evaluaciones y sondeos en el aula mediante códigos QR y el celular del docente-. La función `edu_read_plickers` incluida en este repositorio permite convertir los datos en formato CSV generados por Plickers a una estructura ordenada, siguiendo la filosofía tidy y facilitando así su análisis y visualización.
<<<<<<< HEAD


## Procesamiento de CURP

=======

## Procesamiento de CURP
>>>>>>> dev
Dentro de este repositorio, encontrarás funciones especializadas para el procesamiento de la Clave Única de Registro de Población (CURP), ofreciendo diversas utilidades:

Expand Down
43 changes: 0 additions & 43 deletions man/e_unir_semejantes.Rd

This file was deleted.

7 changes: 0 additions & 7 deletions man/edu_ejemplo_datos_plickers.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/edu_extract_curp.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 2 additions & 7 deletions man/edu_read_plickers.Rd → man/read_plickers.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 2f6e098

Please sign in to comment.