Cómo implementar funciones propias en R y cómo usarlas en los distintos objetos: listas, vectores y data frames.
- Requisitos para usar RStudio y R.
- Crear una función en R.
- Usar una función personalizada en un Data Frame de R.
- Usar una función personalizada R en un vector y una lista.
Requisitos para usar RStudio y R
En el siguiente enlace explicamos cómo instalar RStudio y R:
Crear una función en R
Para crear una función usaremos el siguiente código R. Como ejemplo, crearemos una función que calcula la potencia del número pasado como parámetro:
1 2 3 4 5 6 |
potencia <- function(numero,potencia) { if (numero != 0 & potencia != 0) return(numero^potencia) else return(1) } |
Ejemplo de uso:
1 |
potencia(3,4) |
Que devolverá: 81

Usar una función personalizada en un Data Frame de R
El script R completo, que crea una función potencia de un número elevado a otro, define un Data Frame y en los elementos de este Data Frame se usa la función potencia:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
potencia <- function(numero,potencia) { if (numero != 0 & potencia != 0) return(numero^potencia) else return(1) } dfDatosUsuarios <- data.frame( dia = c(2,6,10), nombre = c("Alonso","Juan","Vicente"), potencia = c(potencia(3,4),12,potencia(5,4)) ) print(dfDatosUsuarios) |
Al mostrar el contenido del Data Frame «dfDatosUsuarios» devolverá:
1 2 3 4 |
dia nombre potencia 1 2 Alonso 81 2 6 Juan 12 3 10 Vicente 625 |

Usar una función personalizada R en un vector y una lista
R es muy versátil, permitirá usar la función creada en cualquier objeto, también en listas (lists):
1 2 3 4 5 6 7 8 9 |
potencia <- function(numero,potencia) { if (numero != 0 & potencia != 0) return(numero^potencia) else return(1) } listaEjemplo <- list(c(2,3,4,potencia(3,6)),"IP","DNS",potencia(10,2)) print(listaEjemplo) |
Hemos usado la función «potencia» tanto en la lista como en el vector de la lista, el resultado:
1 2 3 4 5 6 7 8 9 10 11 |
[[1]] [1] 2 3 4 729 [[2]] [1] "IP" [[3]] [1] "DNS" [[4]] [1] 100 |