Arpit Jain
2014-Jul-07 13:50 UTC
[R] nls - Error in qr.qty(QR, resid) : NA/NaN/Inf in foreign function call (arg 1)
Dear All, I have made a script in R (r_nonlinear_leastsquare.R) to fit an exponential decay curve to my data using nls module: ----------------------------------------------------------------------------------------------------------------- args <- commandArgs(trailingOnly = TRUE) #"/project/dmp-work/alex/workspace/test/test_data" path = args[1] y <- scan(path) x = seq(0.1, length(y)*0.1, 0.1) y=1-y myfunc = function(t, params){ (1*params[1]*exp(params[2]*t))/(1+params[1]*(exp(params[2]*t)-1)) } fitModel = nls(y~(1*N*exp(r*x))/(1+N*(exp(r*x)-1)), start=list(N=0.01, r=0.6), control = list(maxiter = 500), alg="plinear", trace = TRUE) par = coef(fitModel) y2 = myfunc(x, par) jpeg(paste(path, ".jpg", sep="")) plot(x, 1-y2, type="l", ylab="fraction of detection", xlab="distance") points(x, 1-y) dev.off() write(par[1], file=paste(path, "_parameter", sep=""), append = FALSE) write(par[2], file=paste(path, "_parameter", sep=""), append = TRUE) residual_sumofsquares = sum(resid(fitModel)^2); write(residual_sumofsquares, file=paste(path, "_residualsumofsquares", sep=""), append = FALSE) q() -------------------------------------------------------------------------------------------------------------------- The script is called using the following command: R --vanilla --file=r_nonlinear_leastsquare.R --args copy_decay_YEAST04876 The 'copy_decay_YEAST04876' has been enclosed in this email. *On execution, this throws an error:* Error in qr.solve(QR.B, cc) : singular matrix 'a' in solve Calls: nls -> <Anonymous> -> qr.solve Kindly help me in solving this issue. Regards, -- *Arpit Jain* PhD student at Goethe Universit?t, Frankfurt, Germany CALIPSO, Marie-Curie ITN, Ph :- +49 157 50913290