soy un estudiante que actualmente está estudiando R, y mi profesor me da una tarea de uno de los cuadernos, aquí está la pregunta:
Anteriormente definimos la función de potencia genérica y las instancias cuadradas y cúbicas de esta manera:
power <- function(n) function(x) x^n square <- power(2) cube <- power(3)Si en cambio definiste esto:
power <- function(x, n) x^n¿Cómo definirías entonces cuadrado y cubo?
con el primer ejemplo, tanto la potencia, el cuadrado y el cubo se convertirían en una función que puede calcular un vector
con x= (1,2,3,4,5) Intenté resolver el problema usando varias combinaciones de código como
square=power(x,2) # it works, but it creates 'square' as an object of x^2 instead of being a function, square=power(,2) # telling me that x has to be defined and cant be empty square= power(2) # I know it wouldn't work and it says n has to be defined which is... not a surpriseEl libro no da ningún ejemplo de esto y básicamente no tengo ideas sobre cómo redefinir la función, por lo que cualquier ayuda sería muy apreciada, ¡gracias por su atención!
Dada power <- function(x, n) x^n , debe definir el square como se muestra a continuación
square <- function(x) power(x, 2)power <- function(x, n) x^n square <- function(x) power(x, 2) cube <- function(x) power(x, 3) square(3) # 9 cube(3) # 27 Dada la siguiente definición de x :
x = c(1,2,3,4,5)Tu puedes correr
> square(x) [1] 1 4 9 16 25Y recibirás un vector numérico. Si lo haces
square = power(x, 2) Recibes el mismo resultado. En el primer ejemplo, el square es una función. En el segundo ejemplo, square es un vector resultante de cuadrados.