0% encontró este documento útil (0 votos)
56 vistas6 páginas

Funciones Avanzadas en R para Análisis de Datos

class2

Cargado por

Efrain Uio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
56 vistas6 páginas

Funciones Avanzadas en R para Análisis de Datos

class2

Cargado por

Efrain Uio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CIENCIA DE DATOS

# Operadores de comparación
mayor_que <- a > b
menor_que <- a < b
igual_a <- a == b

# Operadores lógicos
and <- (a > 0) & (b > 0)
or <- (a > 0) | (b < 0)
not <- !(a == b)

Ejercicios de Funciones Avanzadas:

1. Función que Calcula Factorial:


2. El factorial de un número entero positivo nn, denotado como n!n!, es el producto
de todos los enteros positivos desde 1 hasta nn. Matemáticamente, se define de
la siguiente manera:
3. n!=n×(n−1)×(n−2)×…×3×2×1n!=n×(n−1)×(n−2)×…×3×2×1
4. Por convención, se establece que el factorial de 0 es 1:
5. 0!=10!=1
6. El factorial es una función matemática comúnmente utilizada en diversas áreas,
como combinatoria, probabilidad y análisis matemático. En programación, se
suele implementar una función para calcular el factorial de un número.

R
calcular_factorial <- function(n) {
if (n == 0 | n == 1) {
return(1)
} else {
return(n * calcular_factorial(n - 1))
}
}

# Ejemplo de uso
resultado <- calcular_factorial(5)
print(resultado)
2. Función que Verifica Palíndromos:

Un palíndromo es una palabra, frase, número o cualquier secuencia de caracteres que se


lee de la misma manera hacia adelante que hacia atrás, despreciando los espacios,
puntuaciones y, en muchos casos, distinguiendo entre mayúsculas y minúsculas. Es
decir, es simétrico respecto a su centro.

Algunos ejemplos de palíndromos son:

• Palabras:
o "radar"
o "reconocer"
o "oso"
• Frases:
o "Anita lava la tina."
o "A mamá Roma le aviva el amor a papá y a papá Roma le aviva el amor
a mamá."
CIENCIA DE DATOS

• Números:
o 121
o 1331
o 12321

La característica principal de un palíndromo es que se mantiene igual si se lee de


izquierda a derecha o de derecha a izquierda. En programación, a menudo se crean
funciones para verificar si una cadena de texto o un número es un palíndromo.

R
es_palindromo <- function(palabra) {
palabra <- tolower(palabra)
inversa <- rev(strsplit(palabra, NULL)[[1]])
return(palabra == paste0(inversa, collapse = ""))
}

# Ejemplo de uso
resultado <- es_palindromo("reconocer")
print(resultado) # Debería imprimir TRUE

3. Funciones Anónimas (Lambda):


R
# Función anónima para elevar al cuadrado
cuadrado <- function(x) {
return(x^2)
}

# Función anónima equivalente


cuadrado_lambda <- function(x) x^2

# Ejemplos de uso
print(cuadrado(5)) # Imprimirá 25
print(cuadrado_lambda(5)) # También imprimirá 25

4. Funciones que Devuelven Otras Funciones:


R
# Función que devuelve una función
crear_sumadora <- function(x) {
function(y) {
return(x + y)
}
}

# Uso de la función resultante


sumar_5 <- crear_sumadora(5)
print(sumar_5(3)) # Imprimirá 8
CIENCIA DE DATOS

5. Realizar un algoritmo para determinar cuánto ahorrará una persona en un año,si al final de
cada mes deposita cantidades variables de dinero; además, se quiere saber cuánto lleva
ahorrado cada mes.
Funciones:
El comando function() permite definir una función dentro de otra función, es decir, se puede
utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
La función data.frame()crea marcos de datos, colecciones de variables estrechamente
acopladas que comparten muchas de las propiedades de las matrices y las listas, utilizadas como
estructura de datos fundamental por la mayoría del software de modelado de R.
La función cat() convierte sus argumentos en cadenas de caracteres, los concatena,
separándolos por la cadena sep= dada y luego los imprime.
ahorros<-function(a){
print("DEPOSITO ANUAL")
MESES<-c("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNEO",

"JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE")
DEPOSITOS_M<-round(runif(12,min = 250,max = 500),2)
DATOS<-data.frame(MESES,DEPOSITOS_M)
print(DATOS)
cat("TOTAL DE DEPOSITO ANUAL : ",sum(DEPOSITOS_M))
}
depositosA<-ahorros(a)

6. Una empresa tiene el registro de las horas que trabaja diariamente un empleado durante la
semana (seis días) y requiere determinar el total de éstas, así como el sueldo que recibirá por las
horas trabajadas.
Funciones:
El comando function() permite definir una función dentro de otra función, es decir, se puede
utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
La función data.frame()crea marcos de datos, colecciones de variables estrechamente
acopladas que comparten muchas de las propiedades de las matrices y las listas, utilizadas como
estructura de datos fundamental por la mayoría del software de modelado de R.
La función cat() convierte sus argumentos en cadenas de caracteres, los concatena,
separándolos por la cadena sep= dada y luego los imprime.
horas<-function(h){
DIAS<-c("lunes","martes","miercoles","jueves","viernes","sabado")
print("Horas durante la semana")
HORAS<-round(runif(6,min = 8,max = 9),0)
print("Sueldos por hora")
SUELDO<-round(runif(6,min = 20,max = 25),2)
REGISTRO<-data.frame(DIAS,HORAS,SUELDO)
print(REGISTRO)

cat("TOTAL DE SUELDO POR EL TRABAJO EN LA SEMANA : ",sum(SUELDO))

total<-horas(h)
CIENCIA DE DATOS

7. Una persona se encuentra en el kilómetro 70 de una carretera, otra se encuentra en el km


150, los coches tienen sentido opuesto y tienen la misma velocidad. Realizar un programa para
determinar en qué kilómetro de esa carretera se encontrarán.
Funciones:
La función while(), es una función diseñada para ejecutar algún código hasta que se cumpla
una condición. Mientras la condición lógica sea TRUE, el código no dejará de ejecutarse. Este
tipo de bucle es muy útil para estudios de simulación.
La función paste(), nos permite concatenar cadenas de texto con R: Interesantes funciones
que nos pueden permitir automatizar códigos recursivos o códigos guardados como objetos en
R.
pa<-70
pb<- 150
d<- pb - pa
while (d>0){
pa<- pa + 1
pb<- pb -1
d<- pb - pa
}
paste("El punto de encuentro es en el kilómetro:", pa)

8. Una persona adquirió un producto para pagar en 20 meses. El primer mes pagó 10 €, el
segundo 20 €, el tercero 40 € y así sucesivamente. Realizar un algoritmo para determinar cuánto
debe pagar mensualmente y el total de lo que pagó después de los 20 meses..
Funciones:

#####La función for(), también conocido como ciclo for, es una iteración repetitiva
(en bucle) de cualquier código, donde en cada iteración se evalúa un mismo código a
través de los elementos de un vector o lista. También puedes escribir un bucle for en
una sola línea de código sin corchetes.

La función paste(), nos permite concatenar cadenas de texto con R: Interesantes funciones
que nos pueden permitir automatizar códigos recursivos o códigos guardados como objetos en
R.
p<- 10
t<- 0
for(i in 1:20){
p<- p*2
t<- t + p
paste("EN EL MES", i, "PAGARAS: $", p)
}
paste("EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $", t)
CIENCIA DE DATOS

9. Una empresa les paga a sus empleados con base en las horas trabajadas en la semana.
Realice un algoritmo para determinar el sueldo semanal de N trabajadores y, además, calcule
cuánto pagó la empresa por los N empleados.
Funciones:
La función for(), también conocido como ciclo for, es una iteración repetitiva (en bucle) de
cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos
de un vector o lista. También puedes escribir un bucle for en una sola línea de código sin
corchetes.
library("svDialogs")

empleados<- as.numeric(dlgInput(message="CUANTOS TRABAJADORES


TIENE?")$res);empleados <-5
gasto_empresa<- 0
for(i in 1:empleados)
{
horas<-as.numeric(dlgInput(message="CUANTAS HORAS TRABAJO A LA
SEMANA?")$res); horas <-3
gasto_empresa<- gasto_empresa + horas*2.50
sueldo<- horas*2.50
print(paste("EL EMPLEADO", i, "GANA SEMANAL: $", sueldo))
}

10. Una empresa les paga a sus empleados con base en las horas trabajadas en la semana. Para
esto, se registran los días que trabajó y las horas de cada día. Realice un algoritmo para
determinar el sueldo semanal de N trabajadores y además calcule cuánto pagó la empresa por
los N empleados.
Funciones:
La función for(), también conocido como ciclo for, es una iteración repetitiva (en bucle) de
cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos
de un vector o lista. También puedes escribir un bucle for en una sola línea de código sin
corchetes.
trab<- as.numeric(dlgInput(message="CUANTOS EMPLEADOS TIENE?")$res) ;
trab <- 5
pago<- 0
for(i in 1:trab)
{
dias<- as.numeric(dlgInput(message="CUANTOS DIAS TRABAJO EN LA
SEMANA?")$res); dias <- 7
horas<- as.numeric(dlgInput(message="CUANTOS HORAS TRABAJO EN ESOS
DIAS?")$res); horas <-4
sueldo<- (dias*horas)*2.50
pago<- pago+ (dias*horas)+ sueldo
print(paste("EL EMPLEADO", i, "GANA SEMANAL: $", sueldo))
}
CIENCIA DE DATOS

11. Hacer un programa que muestre un cronometro, indicando las horas, minutos y segundos.
Funciones:
El comando function() permite definir una función dentro de otra función, es decir, se puede
utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
El comando while es muy útil para repetir un procedimiento siempre que se cumple una
condición.
library("svDialogs")

cronometro<- function(seg)
{
print(seg)
while(seg!=0)
{
Sys.sleep(1)
seg<- seg-1
print(seg)
}
}

cronometro(5)

12. Mostrar en pantalla los N primero número primos. Se pide por teclado la cantidad de
números primos que queremos mostrar.
Funciones:
El comando function() permite definir una función dentro de otra función, es decir, se puede
utilizar como argumento para otras funciones o se pueden ejecutar desde otras funciones.
El bucle for en R, también conocido como ciclo for, es una iteración repetitiva (en bucle) de
cualquier código, donde en cada iteración se evalúa un mismo código a través de los elementos
de un vector o lista.
El comando if (si) es usado cuando deseamos que una operación se ejecute únicamente
cuando una condición se cumple.
El comando else (de otro modo) es usado para indicarle a R qué hacer en caso de la condición
de un if no se cumpla.
PRIMO<- function(num)
{
primo<-numeric()
no_primo<-numeric()
for (i in 1:num)
{
if (sum(i/1:i==i%/%1:i)==2)
{
no_primo<-c(no_primo,i)
} else
{
primo<-c(primo,i)
}
}
primo
no_primo
}
PRIMO(5)

También podría gustarte