r - Error with a User Defined Function -


i have user defined function using on following data set:

pos       b c c b 

i created following function add variable data set.

predict <- function(uncontested.reb.per.game, stl.per.game, blk.per.game, opp.fga.at.rim.per.game, pts.per.game, passes.per.game, log.points.created.by.assist.per.game, sqrt.drives.per.game, pos){ if (pos=="a"){ pred = 1}   else if(pos=="b"){ pred=4} else if(pos=="c"){ pred=5 } } 

when use following command(s): data <- transform(data, pred = predict(pos)

i error "the condition has length > 1 , first element used". think has using "if" statement on want apply each row instead of 1 element, tried variation of code above:

predict <- function(pos){ if (pos=="b" && pos!="a"){ pred = 1}   else if(pos=="a"&&pos!="b"){ pred=4} else if(pos=="c" && pos!="a"){ pred=5  }  } 

however, put same value pred in of rows despite different positions.

you should vectorize function. example change conditions statements using ifelse :

predict <- function(pos){       pred <- ifelse(pos=="a",1,ifelse(pos=="b",4,5))    pred } 

Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -