2014-05-27 17:52 GMT-04:00 calvinahobbes Lina <[email protected]>: > Hola, > > Tenéis razón, seguiré vuestras sugerencias. > > De todas formas os comento lo que busco y adjunto scrip > > Estoy intentando realizar una NP bivariante, con un ejemplo de R y poder > hacer una manta(malla) de la variable a estimar a partir de para nuevos > valores de las covariables. > > En mi caso, La mejor estimación se da con la función sm.regressión... > pero no he podido encontrar cómo predecir un nuevo valor para esta función > (sm.regression) que es en realidad lo que busco > > He realizado varios modelos y al ver que la mejor estimación se daba con sm, > queria poder estimar un nuevo valor. > Los modelos udados fueron: > > 1. locfit(...) --> predict ok > 2. sm.regression(...) --> la mejor estimación --> predecir??? > 3. sBF(... > 4. gam(z ~ lo(x, span=1, degree=2) + lo(y, span=1, degree=2), ...) > 5. gam(y ~ s(x) + s(x,df=4,spar=1), ...) --> predict ok > > Dado lo que me habia dicho un profesor, se supone que cada paquete que > utilizo tiene unas funciones “predict” específicas del paquete y con unos > argumentos específicos, los cuales debo analizar a partir de la “ayuda” del > paquete, ya que son específicos de cada paquete. Allí se supone que dirá > cómo tienen que venir los datos, que seguramente será en formato “data > frame”, será la ayuda la que me ha de indicar el tipo de dato que tengo que > utilizar...cosa que no terminaba de encontrar por más que buscaba en la > ayuda...Ahora entiendo porqué...
!Gracias por la información, Ligia! Por favor, responde a la lista para que todos podemos aprender y ayudar. Ahora veo un poco más qué tipo de información te serviría. Bueno tu profe tiene razón que normalmente la función predict debería funcionar, pero en este caso no existe. En R cada objeto tiene una clase. Por ejemplo si haces y <- rnorm(100) x <- rnorm(100) abc <- lm(y ~ x) class(abc) [1] "lm" predict(abc) ... funciona bien. ¿Por qué? Porque el objeto abc tiene una clase "lm" y existe la función predict.lm (puedes ver la información con ?predict.lm). Si intentas la misma cosa con sm, no te va a dar porque el resultado de sm.regression es un objeto de clase "list" y no existe predict.list (intenta con ?predict.list o exists(predict.list) o ve el resultado de "methods(predict)" y nota que no hay predict.list). Tiene sentido porque "list" es una clase muy general. Pero puedes hacer lo que describí antes. Puedes construir la predicción tú mismo. Saludos, Scott -- Scott Kostyshak Economics PhD Candidate Princeton University > > > > El 27 de mayo de 2014, 22:15, Scott Kostyshak <[email protected]> > escribió: > >> 2014-05-27 13:48 GMT-04:00 calvinahobbes Lina <[email protected]>: >> > Cómo puedo predecir un nuevo valor con el paquete sm, en particular >> > sm.regression. >> > Creo que la función predict() no funciona con sm, y no puedo encontrar >> > otra opción. >> > Alguien me puede ayudar? >> > >> > Gracias! >> > -- >> > Un saludo, >> > Ligia. >> >> Hola Ligia, >> >> La próxima vez, por favor danos un ejemplo de lo que quieres hacer. Si >> no, tenemos que adivinar. Por ejemplo ¿es necesario que uses l paquete >> sm o cualquier paquete que pueda hacer una regression nonparametrica >> bastaría? >> ¿Qué tipo de predicción quieres hacer? ¿El valor está dentro del rango >> de tu variable x or fuera? ¿Necesitas un intervalo o solo el valor de >> la predicción? >> >> Tomemos lo siguiente como ejemplo: >> library(sm) >> abc <- sm.regression(rnorm(100), rnorm(100), display = "none") >> class(abc) >> [1] "list" >> >> De una vez sabemos que predict no va a funcionar porque no nos dio un >> objeto de clase sm. >> Pero lo puede hacer usted usando los vectores abc$eval.points y >> abc$estimate con la función approx (o si quieres crear una función >> predict, lo puedes hacer con approxfun). >> >> Un saludo, >> >> Scott >> >> >> -- >> Scott Kostyshak >> Economics PhD Candidate >> Princeton University > > > > > -- > Un saludo, > Ligia. _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
