[R] replacing values in a vector
Karen Kotschy
karen at sevenc.co.za
Wed Aug 18 00:37:15 CEST 2010
Thanks so much to all those who suggested solutions! You guys are
wonderful!
I went with Dimitris' suggestion in the end.
Regards
Karen
On Tue 17Aug10, Dimitris Rizopoulos wrote:
> try this:
>
> vec <- c(3,2,6,4,7)
>
> n <- length(vec)
> for(i in seq_along(vec)){
> r <- numeric(n)
> r[i] <- vec[i]
> assign(paste("vec.", letters[i], sep = ""), r)
> }
>
>
> I hope it helps.
>
> Best,
> Dimitris
>
>
> On 8/17/2010 12:57 PM, Karen Kotschy wrote:
> >Dear helpRs
> >
> >Does anyone have an elegant way of doing the following:
> >
> >For a given numeric vector, e.g. vec<- c(3,2,6,4,7)
> >
> >Create a series of vectors where all but 1 of the values are replaced by
> >0's, e.g.
> >
> >vec.a<- c(3,0,0,0,0)
> >vec.b<- c(0,2,0,0,0)
> >vec.c<- c(0,0,6,0,0)
> >vec.d<- c(0,0,0,4,0)
> >vec.e<- c(0,0,0,0,7)
> >
> >I have looked at `replace', but can't think of a way of making it produce
> >the 5 lines above without a for loop.
> >
> >I would also like to assign the names automatically. I can create them
> >easily using paste, but how does one get R to treat the resulting
> >character strings as object names to which values can be assigned?
> >
> >Thanks!
> >Karen
> >
> >---
> >Karen Kotschy
> >Centre for Water in the Environment
> >University of the Witwatersrand, Johannesburg, South Africa
> >
> >
>
> --
> Dimitris Rizopoulos
> Assistant Professor
> Department of Biostatistics
> Erasmus University Medical Center
>
> Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
> Tel: +31/(0)10/7043478
> Fax: +31/(0)10/7043014
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the R-help
mailing list