[R] passing field name parameter to function

tdm philb at philbrierley.com
Sun Oct 11 03:27:17 CEST 2009


Hi, 

I am passing a data frame and field name to a function. I've figured out how
I can create the formula based on the passed in field name, but I'm
struggling to create a vector based in that field. 

for example if I hard code with the actual field name 

Y = df$Target, everything works fine. 

but if I use the passed in parameter name, it doesn't give me what I want, 

Y = df$mytarget 


Here is the function, 

# trying to pass field name to a function 
logistictest <- function(df,mytarget) 
{ 

#library for AUC calculation 
library(caTools) 

#build logistic model 
mytarget <- deparse(substitute(mytarget)) 
myformula <- paste(mytarget," ~ .") 
myformula <- deparse(substitute(myformula)) 
logistic_reg <- glm(myformula , data=df, family=binomial(link="logit")) 
print("model build OK") 

#score up 
scores <- predict(logistic_reg, type="response", df) 
print("model scored OK") 

#calc AUC 
Y = df$mytarget 

auc <- colAUC(scores,Y) 
print("auc calculated OK") 

} 

logistictest(df=trainset,mytarget=Target) 


[1] "model build OK" 
[1] "model scored OK" 
Error in as.vector(x, mode) : invalid 'mode' argument 
-- 
View this message in context: http://www.nabble.com/passing-field-name-parameter-to-function-tp25840014p25840014.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list