UNIVERSIDAD CENTRAL DEL ECUADOR
Facultad de Ciencias Económicas
Colaborador: Ing. Francisco Valverde PhD
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.if
(si) es usado cuando deseamos que una
operación se ejecute únicamente cuando una condición se cumple.else
(de otro modo) es usado para indicarle
a R qué hacer en caso de la condición de un if no se cumpla.is.prime <- function(num) {
if (num == 2) {
TRUE
j<-print(" Es número primo")
} else if (any(num %% 2:(num-1) == 0)) {
FALSE
j<-print(" No es número primo")
} else {
TRUE
j<-print(" Es número primo")
}
}
is.prime(5)
## [1] " Es número primo"
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.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.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)
## [1] "DEPOSITO ANUAL"
## MESES DEPOSITOS_M
## 1 ENERO 300.42
## 2 FEBRERO 291.62
## 3 MARZO 403.80
## 4 ABRIL 376.87
## 5 MAYO 487.02
## 6 JUNEO 474.19
## 7 JULIO 304.79
## 8 AGOSTO 485.25
## 9 SEPTIEMBRE 446.63
## 10 OCTUBRE 289.52
## 11 NOVIEMBRE 398.72
## 12 DICIEMBRE 250.49
## TOTAL DE DEPOSITO ANUAL : 4509.32
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.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.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)
## [1] "Horas durante la semana"
## [1] "Sueldos por hora"
## DIAS HORAS SUELDO
## 1 lunes 8 24.60
## 2 martes 9 20.68
## 3 miercoles 8 23.38
## 4 jueves 9 22.98
## 5 viernes 9 24.06
## 6 sabado 8 22.96
## TOTAL DE SUELDO POR EL TRABAJO EN LA SEMANA : 138.66
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.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)
## [1] "El punto de encuentro es en el kilómetro: 110"
#####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.
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)
## [1] "EL TOTAL QUE PAGASTE EN 20 MESES ES DE: $ 20971500"
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))
}
## [1] "EL EMPLEADO 1 GANA SEMANAL: $ 7.5"
## [1] "EL EMPLEADO 2 GANA SEMANAL: $ 7.5"
## [1] "EL EMPLEADO 3 GANA SEMANAL: $ 7.5"
## [1] "EL EMPLEADO 4 GANA SEMANAL: $ 7.5"
## [1] "EL EMPLEADO 5 GANA SEMANAL: $ 7.5"
print(paste("LA EMPRESA PAGO POR LOS", empleados, "EMPLEADOS", gasto_empresa))
## [1] "LA EMPRESA PAGO POR LOS 5 EMPLEADOS 37.5"
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))
}
## [1] "EL EMPLEADO 1 GANA SEMANAL: $ 70"
## [1] "EL EMPLEADO 2 GANA SEMANAL: $ 70"
## [1] "EL EMPLEADO 3 GANA SEMANAL: $ 70"
## [1] "EL EMPLEADO 4 GANA SEMANAL: $ 70"
## [1] "EL EMPLEADO 5 GANA SEMANAL: $ 70"
print(paste("LA EMPRESA PAGA SEMANALMENTE POR LOS", trab, "EMPLEADOS: $", pago))
## [1] "LA EMPRESA PAGA SEMANALMENTE POR LOS 5 EMPLEADOS: $ 490"
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.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)
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
## [1] 0
# cronometro(seg<-as.numeric(dlgInput(message="INGRESE UN NUMERO:")$res))
dlgInput
nos ayuda a crear una caja de
entrada simple.opc1<-dlgInput(message=
"***********************************************
MENU DE OPCIONES?
***********************************************
*
* 1. OPCION 1
* 2. OPCION 2
* 3. OPCION 3
* 4. SALIR
*
***********************************************
*SELECCIONE UNA OPCION:*")$res
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.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.if
(si) es usado cuando deseamos que una
operación se ejecute únicamente cuando una condición se cumple.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)
## [1] 2 3 5
# PRIMO(num<-as.numeric(dlgInput(message="HASTA QUE NUMERO PRIMO QUIERE?")$res))