Dear group, Here is my function:
#return the daily PL for day y PLDaily<-function(x,y) { #find elements in my directory with "LSCPos" in the name, keep the numeric part in the name and #create a list l<-gsub("\\D","",dir()[grep("LSCPos",dir())]) #select in the list the desired elements assign("sel",l[which(l==x):which(l==y)],envir=.GlobalEnv) #here is another solution select<-l[l %in% seq(x, y)] #first we need to create the Pos and Trad elements for (i in sel) { assign(paste("Pos",i,sep=""),position(i),envir=.GlobalEnv) assign(paste("Trad",i,sep=""),trade(i),envir=.GlobalEnv) } #access elements in my environment posA<-get(paste(c("Pos",x),collapse="")) posB<-get(paste(c("Pos",y),collapse="")) av<-get(paste(c("Trad",y),collapse="")) #apply some change on element columns then create only one data frame with the three elements allcon<-ddply(rbind(av[,1:3], transform(posA,prix=POSITION*SETTLEMENT,SETTLEMENT=NULL), transform(posB, prix = -POSITION * SETTLEMENT, SETTLEMENT = NULL, POSITION = POSITION * -1)), "DESCRIPTION",summarise,pl=sum(prix),quantity=sum(POSITION)) #remove the date in $DESCRPTION and add a new column $SHORTDESCRIPTION allcon$SHORTDESCRIPTION<-sub(' [a-z]{3}/[0-9]{2}','',allcon$DESCRIPTION,ignore.case=TRUE) #read the contractvalue file value<-read.csv2("contractvalue.csv",sep=",",h=T,strip.white=T) #merge "value" with "allcon", change some columns, then merge with PosB, replace NA by zero and assign the final result to element PL zz<-merge(transform(merge(value,allcon,all.y=T),SHORTDESCRIPTION=NULL, VALUE=NULL,PL=-VALUE*pl,quantity=NULL),PosB,all.x=T,sort=F) zz[is.na(zz)]<-0 #PL<-zz[c(1,3,4)] assign(paste("DailyPL",y,sep=""),zz[,c(1,3,4)],envir=.GlobalEnv) } Here is what I get : > PLDaily(100524,100525) Error in as.data.frame(y) : object 'PosB' not found > ls() [1] "PLDaily" "Pos100524" "Pos100525" "position" "sel" "Trad100524" "Trad100525" "trade" Why R can't find "PosB" ? TY for your help. ______________________________________________ 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.