[R] Error non-numeric argument to binary operator

Bansal, Vikas vikas.bansal at kcl.ac.uk
Wed Jul 13 17:46:14 CEST 2011


Dear all,

I have a data frame df and i am using a code shown below.

df[, "total"] <- rowSums(df[, 3:6])          MAKING A NEW COLUMN total in df BY ROWSUMS

 defineSamples<- function() 
 { 
 readline("enter the number of INDIVIDUALS IN POOL: ") 
 } 
df$ind=definesamples()      CALLING THE FUNCTION AND STORING THE INPUT FROM USER IN NEW COLUMN OF df

df[, 3:6] <- apply(df[, 3:6], 2, function(x) x / df[, "total"] * df[, "ind"] * 2)        APPLYING A MATHEMATICAL FORMULA

I am taking an input from user which is stored in ind column of df.and then i am applying a formula showed in last line of code.
But it shows this error-

Error in x/df[, "total"] * df[, "ind"]  : 
  non-numeric argument to binary operator

but if i am not taking input from user and using straight way this-
df$ind=9
then it is working.

But i want to enter the value of ind from user.Can you please tell me how can i remove this error.

Thanking you,
Warm Regards
Vikas Bansal
Msc Bioinformatics
Kings College London


More information about the R-help mailing list