Hi Esmail,

Try this:

vars=c('X.1', 'X.2', 'X.3', 'X.4', 'X.5')
bits=c(1, 0, 1, 1, 0)
paste(vars[which(bits==1)],collapse="+")

HTH,

Jorge



On Tue, May 6, 2008 at 3:06 PM, Esmail Bonakdarian <esmail.js@gmail.com>
wrote:

> Hello,
>
> Still a newbie with R, though I have learned a lot from reading
> this list. I'm hoping someone can help with this question:
>
> I have two vectors, one for variables, and one for bits.
>
> I want to build a string (really a formula) based on the values in my
> vector of 1s and 0s in bits. If I have a one, I want to include the
> corresponding entry in the vars vector, otherwise ignore it. Of course
> the "bits" vector will not stay the same.
>
> So for example:
>
>  vars=c('X.1', 'X.2', 'X.3', 'X.4', 'X.5')
>
>  bits=c(1, 0, 1, 1, 0)
>  ones=which(bits==1)
>
> should yield:
>
>  "X.1 + X.3 + X.4"
>
> where as
>
>  bits=c(1, 1, 0, 0, 0)
>
> would yield
>
>  "X.1 + X.2"
>
> the "which" operator gives me the index values, is there an easy and
> *efficient* way to build this string so that I can pass it on to glm?
> I can probably hack some ugly code together to do this, but it won't
> be efficient, and it won't be elegant :-)
>
> Can anyone help?
>
> Thanks!
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

	[[alternative HTML version deleted]]

