Dear all, I am trying to set a model using the pcrfit() function of the qpcR package. I have defined a dataframe with 45 cycles (rows) and 4 readings (columns) derived from a TaqMan qPCR with relative quantification. The data is based on the normalized fluorescent results (main fluorescence minus ROX). The example reported herein has a couple of readings with abnormal amplification (which would be the usual kind of results for the PCR I am carrying out) and two with a proper amplification; the plot section of the example is meant to describe the data itself. For each implementation, the error returned is: Error in model.frame.default(formula = ~Fluo + Cycles, data = DATA, weights = WEIGHTS, : variable lengths differ (found for '(do.optim)') However each column has 45 rows. Any tips on how to problem-solve this issue? Many thanks, Luigi PS: The following example writes a file in the current folder, uses it for the pcrfit modelling and then removes it.>>># define working directory setwd(getwd()) # qpcR if(!is.element('qpcR', installed.packages()[,1])) { install.packages('qpcR') } else { library(qpcR) } # create dataframe col.0<-1:45 col.a<-c(-0.033, -0.027, -0.015, -0.007, -0.001, 0.001, 0.003, 0.004, 0.005, 0.003, 0.004, 0.001, 0.002, 0.002, 0.001, 0.002, 0.002, 0.001, 0.001, 0.001, 0.004, 0.002, -0.001, 0.001, 0.001, -0.001, -0.002, -0.001, 0.001, -0.001, -0.002, -0.001, -0.002, -0.001, -0.003, -0.004, -0.002, -0.001, -0.002, -0.001, 0.001, 0.001, 0.002, 0.003, 0.006) col.b<-c(-0.128, -0.116, -0.089, -0.068, -0.048, -0.032, -0.018, -0.006, 0.004, 0.009, 0.015, 0.02, 0.024, 0.025, 0.028, 0.029, 0.028, 0.029, 0.029, 0.026, 0.025, 0.024, 0.023, 0.019, 0.018, 0.018, 0.015, 0.012, 0.01, 0.009, 0.006, 0.003, -0.001, -0.003, -0.006, -0.01, -0.012, -0.014, -0.017, -0.02, -0.023, -0.024, -0.027, -0.029, -0.029) col.c<-c(-0.045, -0.048, -0.043, -0.036, -0.023, -0.01, 0.006, 0.02, 0.029, 0.034, 0.037, 0.032, 0.026, 0.017, 0.01, -0.002, -0.013, -0.021, -0.029, -0.034, -0.025, 0.006, 0.065, 0.163, 0.301, 0.477, 0.68, 0.89, 1.092, 1.254, 1.41, 1.546, 1.664, 1.772, 1.865, 1.929, 1.983, 2.032, 2.066, 2.09, 2.108, 2.126, 2.129, 2.13, 2.142) col.d<-c(-0.049, -0.04, -0.026, -0.013, -0.006, 0.002, 0.007, 0.009, 0.01, 0.01, 0.009, 0.007, 0.007, 0.007, 0.005, 0.003, 0, -0.002, -0.005, -0.006, -0.006, -0.008, -0.005, 0, 0.01, 0.032, 0.072, 0.14, 0.237, 0.361, 0.51, 0.677, 0.847, 1.016, 1.181, 1.336, 1.481, 1.619, 1.742, 1.858, 1.962, 2.056, 2.136, 2.212, 2.27) x.file<-cbind(col.0, col.a, col.b, col.c, col.d) # write data working file write.table( x.file, file="x.file.txt", sep="\t", eol = "\n", na = "NA", dec = ".", quote = FALSE, col.names = TRUE, row.names = FALSE, append = FALSE ) # create objects obj<-pcrimport2( file="x.file.txt", sep="\t", dec=".", header=TRUE, colClasses="numeric", quote="" ) # calculate Cy0 Cy<-1:4 model<-1:4 model[1]<-pcrfit(obj, cyc=1, 2, model=l4, do.optim=TRUE, robust=FALSE) model[2]<-pcrfit(obj, cyc=1, 3, model=l4, do.optim=TRUE, robust=FALSE) model[3]<-pcrfit(obj, cyc=1, 4, model=l4, do.optim=TRUE, robust=FALSE) model[4]<-pcrfit(obj, cyc=1, 5, model=l4, do.optim=TRUE, robust=FALSE) Cy[1]<-Cy0(model[1], plot=FALSE) Cy[2]<-Cy0(model[2], plot=FALSE) Cy[3]<-Cy0(model[3], plot=FALSE) Cy[4]<-Cy0(model[4], plot=FALSE) # plot results as control plot(col.a ~ col.0) plot(col.b ~ col.0) plot(col.c ~ col.0) plot(col.d ~ col.0) # remove working file unlink("x.file.txt", recursive = FALSE, force = FALSE )