Dear Paul and Sarah Thanks for the suggestion. I have provided my data here in to make the results reproducable. I am actually trying to do interpoliation of climate data where x1 and x2 are my latitude and longitude and sum64-sum 368 are my rainfall observations which I need to regress against x1 and x2. In the previous I was trying to get my story clear so I did not go into details.
Now when I run your suggestion below, I get the following error message. Is there anything in your instruction that I did not get right? many thanks mintewab listOfForumlas = paste(1:300, "~s(x1,x2, k=100)") listofResults = lapply(listOfForumlas, function(f) { b<-gam(as.formula(f),data=dat) vis.gam(b) fitted(b) }) Error in model.frame.default(formula = 1 ~ 1 + x1+ x2, data = dat, : variable lengths differ (found for 'x1') ________________________________________ Från: Paul Hiemstra [paul.hiems...@knmi.nl] Skickat: den 12 december 2011 14:42 Till: Mintewab Bezabih Kopia: r-help@r-project.org Ämne: Re: [R] shorter way of coding On 12/12/2011 01:16 PM, Mintewab Bezabih wrote: > Dear R users, > > I am using the code below to generate a fitted value of b. I have about 300 > different values for for y (y1, y2, ...y300) which means I will have to write > the code below 300 times to generate the 300 different fitted values for y. > Is there a short way of doing that ? > > Many thanks in advance > Mintewab > > library(mgcv) > dat <- read.table("e:/minti's laptop/C/GBG/allround_survey/rainfallGPS.csv", > header=T, sep=",") > b<-gam(y1~s(x1, x2, k=100),data=dat) > vis.gam(b) > fitted(b) > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. Hi Mintewab, Something along these lines should work: listOfForumlas = paste(1:300, "~s(x1, x2, k=100)") listofResults = lapply(listOfForumlas, function(f) { b<-gam(as.formula(f),data=dat) vis.gam(b) fitted(b) }) But as Sarah already commented, without a reproducible piece of example code we cannot present any working solutions. cheers, Paul -- Paul Hiemstra, Ph.D. Global Climate Division Royal Netherlands Meteorological Institute (KNMI) Wilhelminalaan 10 | 3732 GK | De Bilt | Kamer B 3.39 P.O. Box 201 | 3730 AE | De Bilt tel: +31 30 2206 494 http://intamap.geo.uu.nl/~paul http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.