Is it possible to pass just a variable name in a function call and have it utilised as such within the function??
pseudocode:
q<-function(A){
b<-(w%in%A.2|w%in%A.7)
factor(b,levels=c(F,T),labels=c("non-"A,A))}
w<-c(0:10)
e.2<-c(1,2)
e.7<-c(6,7)
what I´d like t开发者_如何学Goo do is
q(e)
and have returned
non-e,e,e,non-e,non-e,e,e,non-e,non-e
//M
q<-function(A) {
a2<-get(paste(a,".2",sep=""))
a7<-get(paste(a,".7",sep=""))
b<-(w%in%a2|%in%a7)
factor(b,levels=c(F,T),labels=c(paste("non-",a,sep=""),a))
}
q("e")
Thx,
M
You should probably choose a different name for your function other than "q" - otherwise you'll never be able to finish ;)
You can use get
For instance
var1 <- get(paste(e, ".2", sep=""))
var2 <- get(paste(e, ".7", sep=""))
EDIT: as Aidan Cully correctly says then you should call your function as q("e")
(i.e. with a string)
精彩评论