Re: [R] Joining elements of an array into a single element

2010-03-10 Thread vega_l
Thank you very much Miguel ! I couldn't believe it was that easy.

Luis Vega.

--- On Wed, 3/10/10, Miguel Porto  wrote:

From: Miguel Porto 
Subject: Re: [R] Joining elements of an array into a single element
To: veg...@yahoo.com
Cc: r-help@r-project.org
Date: Wednesday, March 10, 2010, 8:57 PM

Hello,If you do this after the for loop, you'll get what you want:
paste(tre,collapse="")
(you can use whatever separator you want in the collapse argument)

But you don't even need the for loop, just do this instead of the for loop:
paste("con(",p," == ",c,", ",zest,", ",sep="",collapse="")

Best,Miguel



On Wed, Mar 10, 2010 at 11:44 AM,   wrote:

Dear forum:



I've been trying like for hours but I cannot solve this. I wonder if you could 
give me a hand.



I would like to combine the following elements of an array which I must 
generate in order to get the syntax I need for another software, lets say:



c<-c(1:7)

zest<-c(12,34,45,132,56,23,6)

p<-"[foresnat2]"



for(i in 1:7){tre[i]<-paste("con(",p," == ",c[i],", ",zest[i],", ",sep="")}



[1] "con([foresnat2] == 1, 12, "

[1] "con([foresnat2] == 2, 34, "

[1] "con([foresnat2] == 3, 45, "

[1] "con([foresnat2] == 4, 132, "

[1] "con([foresnat2] == 5, 56, "

[1] "con([foresnat2] == 6, 23, "

[1] "con([foresnat2] == 7, 6, "



I would like the elements of the object "tre" to go one after another without 
space (or with a character I design like for example "*" or "+" )like this:



[1] "con([foresnat2] == 1, 12, con([foresnat2] == 2, 34, con([foresnat2] == 3, 
45, con... etc



I understand it could be done with the function "paste" invoking each of the 
elements, but lets say they are not only 7 but 20 or 40 elements...



Is it possible? What can I do?



Thank you very much in advance.



Luis Vega



PD: Just in case:  For the other software language i was talking about, the 
usage of "con" is the same as "ifelse" in R, I'm trying to generate

 a large embed ifelse(..., ..., ifelse(...,...,ifelse(   entry. but with 
what I'm requiring lines above should be enough I think.



















        [[alternative HTML version deleted]]




__

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]]

__
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.


Re: [R] Joining elements of an array into a single element

2010-03-10 Thread Miguel Porto
Hello,
If you do this after the for loop, you'll get what you want:

paste(tre,collapse="")

(you can use whatever separator you want in the collapse argument)

But you don't even need the for loop, just do this instead of the for loop:

paste("con(",p," == ",c,", ",zest,", ",sep="",collapse="")

Best,
Miguel




On Wed, Mar 10, 2010 at 11:44 AM,  wrote:

> Dear forum:
>
> I've been trying like for hours but I cannot solve this. I wonder if you
> could give me a hand.
>
> I would like to combine the following elements of an array which I must
> generate in order to get the syntax I need for another software, lets say:
>
> c<-c(1:7)
> zest<-c(12,34,45,132,56,23,6)
> p<-"[foresnat2]"
>
> for(i in 1:7){tre[i]<-paste("con(",p," == ",c[i],", ",zest[i],", ",sep="")}
>
> [1] "con([foresnat2] == 1, 12, "
> [1] "con([foresnat2] == 2, 34, "
> [1] "con([foresnat2] == 3, 45, "
> [1] "con([foresnat2] == 4, 132, "
> [1] "con([foresnat2] == 5, 56, "
> [1] "con([foresnat2] == 6, 23, "
> [1] "con([foresnat2] == 7, 6, "
>
> I would like the elements of the object "tre" to go one after another
> without space (or with a character I design like for example "*" or "+"
> )like this:
>
> [1] "con([foresnat2] == 1, 12, con([foresnat2] == 2, 34, con([foresnat2] ==
> 3, 45, con... etc
>
> I understand it could be done with the function "paste" invoking each of
> the elements, but lets say they are not only 7 but 20 or 40 elements...
>
> Is it possible? What can I do?
>
> Thank you very much in advance.
>
> Luis Vega
>
> PD: Just in case:  For the other software language i was talking about, the
> usage of "con" is the same as "ifelse" in R, I'm trying to generate
>  a large embed ifelse(..., ..., ifelse(...,...,ifelse(   entry. but
> with what I'm requiring lines above should be enough I think.
>
>
>
>
>
>
>
>
>
>[[alternative HTML version deleted]]
>
>
> __
> 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]]

__
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.


[R] Joining elements of an array into a single element

2010-03-10 Thread vega_l
Dear forum:

I've been trying like for hours but I cannot solve this. I wonder if you could 
give me a hand.

I would like to combine the following elements of an array which I must 
generate in order to get the syntax I need for another software, lets say:

c<-c(1:7)
zest<-c(12,34,45,132,56,23,6)
p<-"[foresnat2]"

for(i in 1:7){tre[i]<-paste("con(",p," == ",c[i],", ",zest[i],", ",sep="")}

[1] "con([foresnat2] == 1, 12, "
[1] "con([foresnat2] == 2, 34, "
[1] "con([foresnat2] == 3, 45, "
[1] "con([foresnat2] == 4, 132, "
[1] "con([foresnat2] == 5, 56, "
[1] "con([foresnat2] == 6, 23, "
[1] "con([foresnat2] == 7, 6, "

I would like the elements of the object "tre" to go one after another without 
space (or with a character I design like for example "*" or "+" )like this:

[1] "con([foresnat2] == 1, 12, con([foresnat2] == 2, 34, con([foresnat2] == 3, 
45, con... etc

I understand it could be done with the function "paste" invoking each of the 
elements, but lets say they are not only 7 but 20 or 40 elements...

Is it possible? What can I do?

Thank you very much in advance.

Luis Vega

PD: Just in case:  For the other software language i was talking about, the 
usage of "con" is the same as "ifelse" in R, I'm trying to generate
 a large embed ifelse(..., ..., ifelse(...,...,ifelse(   entry. but with 
what I'm requiring lines above should be enough I think.





  


  
[[alternative HTML version deleted]]

__
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.