[R] Function OPTIM()

Briggs, Meredith M Meredith.Briggs at team.telstra.com
Thu Mar 11 05:08:15 CET 2004


Hello

I'm trying to reformat my problem below so there is less data entry each time the package is run.

This is the 'inefficient' version and below in blue is what I would like it to look like but can't get it to work.

InDATA<- read.table ("C:/Data/March 2004/DATA2.txt",header=T)

WO=dim(InDATA)[1]
DI=dim(InDATA)[2]-1


B <- matrix(rep(0,WO*DI), c(WO,DI))
j=1
while (j  <DI+1) {B[,j]=InDATA[,j] 
j=j+1
next}
print(B)

y <- matrix(c(InDATA[,DI+1]),c(WO,1))
fr <- function(X) {

for (j  in 1:DI) { j <- X[j]}


p <- matrix(c(X[1],X[2],X[3],X[4],X[5],X[6],X[7],X[8],X[9],X[10],X[11],X[12],X[13],X[14],X[15],X[16],X[17],X[18],X[19],X[20],X[21],X[22],X[23],X[24],X[25],X[26],X[27],X[28],X[29],X[30]),c(30,1))

t(B %*% p-y) %*% (B %*% p-y)

}


optim(c(rep(1,DI)),fr,method="L-BFGS-B",lower=c(488,716,327,77,40,85,1,4,21,4,462,256,366,4697,654,373,664,100,601,1641,700,516,769,617,5372,8079,432,62,4155,2954), upper=c(1540,859,382,95,50,95,10,5,26,6,538,309,443,5310,757,453,757,424,741,1971,1425,600,1191,720,5373,9329,570,75,5559,6351))


InDATA<- read.table ("C:/Data/March 2004/DATA2.txt",header=T)

WO=dim(InDATA)[1]
DI=dim(InDATA)[2]-1


B <- matrix(rep(0,WO*DI), c(WO,DI))
j=1
while (j  <DI+1) {B[,j]=InDATA[,j] 
j=j+1
next}
print(B)

y <- matrix(c(InDATA[,DI+1]),c(WO,1))
fr <- function(X) {

for (j  in 1:DI) { j <- X[j]}


p <- matrix(cbind(InDATA[1,1:DI]))

t(B %*% p-y) %*% (B %*% p-y)

}

optim(c(rep(1,DI)),fr,method="L-BFGS-B",Lower,Upper)




More information about the R-help mailing list