Consideraciones

a continuación podrán encontrar una serie de situaciones que requiere de instrucciones para disponer los datos de forma correcta.

library(readxl)
datos <- read_excel("E:/Dropbox/CARLOS/00 R/Z_RPUBS/datos/NOTAS2022.xlsx")

Convertir multiples variables asociadas a un registro en varios registros asociados un id

Muchas veces los estados de la variable vienen como lo que se observa en la siguiente figura

las notas vienen en varias columnas pudiendo venir todas en una, al hacer el siguiente arreglo, debemos crear una variable que contiene todas el nombre de la nota y en otra el valor de la nota.

para ello usar las siguientes librerías

library(tidyverse)
library(tidyr)
library(ggridges)
library(PerformanceAnalytics)
library(psych)

procesamos para dejar en 2 variables nuevas, las 4 variables, deben observar que se reducen en 2 variables el dataset, pero aumenta a 948 filas.

datos <- datos %>% #recursivo, para no ocupar mas memoria
  pivot_longer (cols = c(n1,n2,n3,F), # se crear los elemenos de la variable ID_evaluacion
                names_to = "ID_evaluacion", #asigna nombre a la columnas
                values_to = "nota")

ahora puede ejecutar algunos script y los resultados aparecen mejor preparados para visualizar

Arreglar el nombre de las variables

el nombre de las variables hace que el proceso sea más rápido, para ellos algunas consideraciones son (aunque r los reconoce, cuando trabaja en UTF-8):

  • no escriba con espacios para separación de palabras, use “_”
  • no use tildes
  • acorte los nombres , por ejemplo cuando procesa una encuesta.
  • no use caracteres especiales º,ª!¡ etc

respecto del mismo ejemplo hacemos

names(datos) #visualzamos los nombres de las columnas, "ojo con el orden"
## [1] "Nº"            "Cod.Carrera"   "año"           "sem"          
## [5] "ID_evaluacion" "nota"

modificar en funcion del orden

names(datos)[1]<-c("id") # reemplaza Nº por id
names(datos)[3]<-c("periodo") # reemplaza año por periodo

Valores Faltantes, Datos Perdidos, Not Availables “NA” “N/A”

en ocasiones, por alguna razón, no existe el valor de medida o de respuesta, en ese caso la celda viene vacía, entonces debe reconocer si viene o no dicho valor, ya que ciertas acciones de análisis no las podrá hacer

Detectar NA

#si el siguiente valor es DISTINTO de 0 entonces quiere decir que existen 
# Valores faltantes (NA), por tanto, no calcular? nada.

sum(is.na(datos))
## [1] 44

al aplicar un script que hice “DESCRIPYG” ( lo puedes encontrar en https://github.com/cjimenezgallardo/R-EA)

te envia un mensaje diciendo que tienes valores NA y no ejecutara hasta que hagas algo con eso.

¿Qué hacer, si aparecen NA?

tiene 2 posibilidades la primera, y es la que la mayoría opta, es la de eliminar pero debe considerar que los datos deben estar arreglados como le comentamos en Caso 1

#limpiar valores faltantes
datos<-na.omit(datos)


sum(is.na(datos))
## [1] 0

la segunda opción es estimar, para ello puede usar varias opciones, pero debe tener mucha data para ello.

Colocar nombre a las filas (rownames)

algunos procedimientos requieren identificar claramente la unidad experimental, para ello la columna que identifica la UE, se suele asignar a la “rownames”

datose<- read_excel("E:/Dropbox/CARLOS/00 R/Z_RPUBS/datos/datos_empleados.xlsx")
rownames(datose) <- datose$ID
## Warning: Setting row names on a tibble is deprecated.

Luego, eliminar la columna duplicada

datose<-dplyr::select(datose,-1)# indica el numero de la columna, tb puede ser nombre

Asignar etiquetas a valores de una variable

Nota: el Número ocupa menos espacio en memoria que una letra

Tomando en cuenta lo anterior, muchas variables que son cualitativas vienen con caracteres y luego deben convertirse en a número (conocido como tabular), dado lo anterior es que se puede asignar una valor de etiqueta, que no esta necesariamente en el dataset.

en el caso de la figura anterior, aparece la variable MINORIA, con 0, 1

si agregamos la etiqueta con 0 (no pertenece), 1(pertenece)

datose$minoria <-factor(datose$minoria,levels = c(0,1),labels = c("No pertenece","Pertenece"))

luego el data set queda

Obtener subconjuntos de datos aleatorios

Usar la librería dplyr

muestra<- datose %>% 
  sample_n(30)

Obtener dia de la semana de un campo fecha

cuando la fecha esta en numero , por ejemplo 29825, quiere decir que han transcurrido 29.825 dias desde una fecha de origin, microsoft, establece en excel que ese inicio es 1900. asi que deben tener cuidado con el calculo, si es que no se guarda en campo fecha dado esto

# asegurarse que esta en numero
datose$FechaNAc<-as.numeric(datose$FechaNAc)
## Warning: NAs introducidos por coerción
#calcular en referencia a una fecha origen
# crear nueva variable

datose$fecha <- as.Date(datose$FechaNAc,origin = "1900-01-01")