I think pcls will do what you want. You'll need to explicitly set up the constraint matrix, since pcls is designed to deal with general linear inequality constraints (i.e. it will do more than just non-negativity). Also the penalty matrix/matrices for pcls would be t(L)%*%L, I think.
btw, there's a pre-release version of mgcv 1.0 at http://www.stats.gla.ac.uk/~simon/simon/mgcv.html which has a less obscure way of supplying the penalty matrices to pcls, and might therefore be a bit easier to use. (Also features gamms, tensor product smoothing, p-splines and stuff.) best, Simon > Is there an equivalent to nnls.fit in R? > I think this can be done with pcls? Right? > > S-Plus script: A, L and data are matrices, lambda is a vector of > possible lambda (smoothing) values > > > "nntik"<-function(A,L,data,lambda) > > { > > H<-rbind(A,lambda*L) > > i<-1:(nrow(L)+length(data)) > > q<-ifelse(i<=length(data),data[i],0) > > nntik<-nnls.fit(H,q) > > return(nntik) > > } > > I think this is the same as what pcls states: > > > Willem > > -- > Dr R.W. Vervoort > McCaughey Senior Lecturer Hydrology and Catchment Management > Faculty of Agriculture, Food and Natural Resources > Rm 503, Watt Bldg. > http://www.agric.usyd.edu.au/mccaughey > > Postal: > Bldg A03 > The University of Sydney, NSW, 2006 > > phone: +61 (2) 9351 8744 > fax: +61 (2) 9351 5108 > e-mail: [EMAIL PROTECTED] > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
