Dear Users,
I have a little problem with user-defined function. I would like to remove columns from a data frame using a user-defined function but i am getting a "Error in ad[, -12] : incorrect number of dimensions” error.  The "ad<-ad[,-12]” and similar commands work from R console but i couldn’t make them run from my function. The function and the type imformation of one of my obtained data objects is below.

Thanks in advance for your tips and helpful answers,
Levent TERLEMEZ.


Error:
Error in ad[, -12] : incorrect number of dimensions

My Function:
function (dyolu,dadi,dsayi)
{
    for(i in 1:dsayi)
    {
        ad<-paste(dadi,i,sep="")
        yol<-paste(dyolu,dadi,i,".csv",sep="")
        print(ad)
        print(yol)
        assign(eval(substitute(ad)), read.csv(yol,sep=";",dec=",",header=T), envir = globalenv())
        ad<-ad[,-12]————————————————————————> Here I would like to remove some columns but i even can’t remove one. I tried all the suggestion on internet forums.
        #dat[ , -which(names(dat) %in% c("z","u"))]
    }
}

dyolu: The string type variable containing the path of the csv  files that will be read.
dadi: The string type variable containing the name of csv files that will be read.
dsayi: The numeri type variabe containing the number of files that will be read.

My Data Object’s Attributes:
> str(be1)
'data.frame': 74 obs. of  16 variables:
 $ Avi.TimeStamp: Factor w/ 74 levels " 0:00:40.00",..: 2 1 3 4 5 6 7 8 9 10 ...
 $ Frame        : int  32949 32950 32952 32953 32954 32955 32957 32961 32962 32963 ...
 $ Spot.x       : num  274 275 275 275 275 ...
 $ Spot.y       : num  277 277 277 277 277 ...
 $ Pupil.x      : num  240 242 242 241 241 ...
 $ Pupil.y      : num  320 320 320 320 320 ...
 $ Pupil.r      : num  47.7 47.5 47.6 47.8 47.7 ...
 $ Scene.x      : num  46.2 30.3 34.6 30.4 43.1 ...
 $ Scene.y      : num  102.5 71 71.9 73.7 92.2 ...
 $ Mouse.x      : int  287 287 287 287 287 287 287 287 287 287 ...
 $ Mouse.y      : int  570 570 570 570 570 570 570 570 570 570 ...
 $ X            : logi  NA NA NA NA NA NA ...
 $ H            : int  0 0 0 0 0 0 0 0 0 0 ...
 $ M            : int  0 0 0 0 0 0 0 0 0 0 ...
 $ S            : int  40 40 41 41 41 41 41 41 41 41 ...
 $ Split        : int  96 0 8 12 16 20 28 44 48 52 …

This data frame is obtained with the assign command from my function.


	[[alternative HTML version deleted]]

