Foro de debate

Ayuda con Funciones

Ayuda con Funciones

de Jose Antonio -
Número de respuestas: 10

Hola estoy empezando a usar el programa R, y necesito ayuda con este ejercicio que no consigo resolver. Espero que puedan ayudarme.

Crear una función que permita ajustar los siguientes modelos de regresión simple:

Lineal Y= a + b*X

Exponencial Y=exp(a+b*X)

Potencial Y=a*X^b

En la creación de la función tendremos en cuenta lo siguiente:

- La función tendrá tres argumentos: los vectores con los datos de la variable de respuesta (y) y la explicativa (x) y el tipo de regresión a realizar (tipo), de este modo el usuario ejecutará la función pasando los datos para la regresión y el tipo con valor 1, 2 ó 3 en el caso en que se quiera la regresión lineal, exponencial o potencial, respectivamente. Por defecto el argumento “tipo” se definirá como 1.

- Se controlará que los vectores x e y tengan la misma longitud y los cálculos se realizarán eliminado los posibles datos faltantes (NA) en los vectores de forma adecuada.

- Para ajustar el modelo lineal se utilizará la función lm().

- Para ajustar los otros dos modelos bastará con linealizar el modelo tomando logaritmos y después se utilizará la función lm(). Así, para el modelo exponencial consideramos el modelo transformado log(Y) = a + b* X, con lo cual podremos obtener la estimación de los parámetros “a” y “b” mediante lm() pero considerando como vectores de datos “x” y “log(y)”. Para el modelo potencial consideraremos la transformación log(Y)= log(a)+b*log(X) de modo que el logaritmo del parámetro ”a” y el parámetro “b” los estimaremos aplicando la función lm() a los datos log(x) y log(y).

- La función devolverá una lista con los valores estimados de “a” y “b” y creará un gráfico de dispersión de los datos superponiendo la curva correspondiente al modelo ajustado.

- Para probar la función considerar los datos siguientes:

x<- c(0.2,0.1,0.7,0.8,1.1,1.3,2.4,2.9,3.5,NA,3.9,3.5)

y<-c(25.3,26.7,31.4,33.5,39.7,40.6,45.5,56.8,75.4,80.1,97.2,NA)

En respuesta a Jose Antonio

Re: Ayuda con Funciones

de Manuel Muñoz Márquez -

Hola José Antonio:

Te recomiendo que empieces haciendo lo que quieres paso a paso y que cuando tengas las instrucciones que lo hagan entonces lo conviertas en una función.

Hay algunas cuestiones que tendrás que resolver, cuando hablas de modelo ajustado en el gráfico ¿te refieres a los tres modelos o a...?

La linealización de los modelos es una técnica habitual pero no siembre está justificada, según tus datos podría se necesario trabajar directamente con los modelos exponencial y potencial.

Saludos.

En respuesta a Manuel Muñoz Márquez

Re: Ayuda con Funciones

de Jose Antonio -
El problema que tengo es que no se usar funciones.


Claro, el modelo ajustado es el resultado de haber ajustado los tres diferentes modelos

En respuesta a Jose Antonio

Re: Ayuda con Funciones

de Manuel Muñoz Márquez -
Hola:

Cuando dices "El problema que tengo es que no se usar funciones." ¿te refieres a que no sabes usar las instrucciones de R para construir el modelo?. Si es así puedes usar R-Commander para hacer lo que quieres y veras las instrucciones que necesitas.

El segundo párrafo sigo sin entenderlo, ¿quieres un modelo o tres?

Saludos.
En respuesta a Manuel Muñoz Márquez

Re: Ayuda con Funciones

de Jose Antonio -
La gráfica tendría que ser una superposición de los tres modelos.


Respecto a las funciones no se mucho de programación, y por tanto no llego a comprender las instrucciones ni como sacarlas a partir de R-Commander.

Gracias por su ayuda. 

En respuesta a Jose Antonio

Re: Ayuda con Funciones

de Manuel Muñoz Márquez -

Buenas:

Un libro libre que puedes utilizar para iniciarte en R es "Estadística básica con R y R-Commander"

En la sección de documentación tienes algunos manuales introductorios a R.

Saludos.

En respuesta a Manuel Muñoz Márquez

Re: Ayuda con Funciones

de Jose Antonio -

Buenas tardes,

Me va a ser imposible adquirir el libro.Por favor ¿Me podría decir al menos como comenzar con este ejercicio? 


En respuesta a Manuel Muñoz Márquez

Re: Ayuda con Funciones

de Jose Antonio -

Buenas tardes,

Me va a ser imposible adquirir el libro.Por favor ¿Me podría decir al menos como comenzar con este ejercicio? 


En respuesta a Jose Antonio

Re: Ayuda con Funciones

de gabriela gerardo -

El libro lo puedes leer o descargar desde aca:

https://knuth.uca.es/moodle/mod/url/view.php?id=1126

Tambien te pueder servir este otro, capitulo 6 que habla sobre programacion.

https://cran.r-project.org/doc/contrib/rdebuts_es.pdf

Saludos.