Pass variable name to a function in r
10,641
Solution 1
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)
Solution 2
You should probably choose a different name for your function other than "q" - otherwise you'll never be able to finish ;)
Author by
Misha
Updated on June 27, 2022Comments
-
Misha almost 2 years
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 to 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