From: jim holtman <jholtman_at_gmail.com>

Date: Fri 28 Jul 2006 - 02:17:14 EST

*> x <- c(1,0,3,4,0,5)
*

*> f(x)
*

> x[x==0] <- NA

*> f(x)
*

*> y <- f(x)
*

> y[is.na(y)] <- 0

*> y
*

*>
*

Date: Fri 28 Jul 2006 - 02:17:14 EST

replace 0 with NA and then back again:

*> f
*

function(a){cbind(a,a+1,rev(a)

)}

> f(1:5)

a

[1,] 1 2 5 [2,] 2 3 4 [3,] 3 4 3 [4,] 4 5 2 [5,] 5 6 1

a

[1,] 1 2 5 [2,] 0 1 0 [3,] 3 4 4 [4,] 4 5 3 [5,] 0 1 0 [6,] 5 6 1

> x[x==0] <- NA

a

[1,] 1 2 5 [2,] NA NA NA [3,] 3 4 4 [4,] 4 5 3 [5,] NA NA NA [6,] 5 6 1

> y[is.na(y)] <- 0

a

[1,] 1 2 5 [2,] 0 0 0 [3,] 3 4 4 [4,] 4 5 3 [5,] 0 0 0 [6,] 5 6 1

On 7/27/06, Robin Hankin <r.hankin@noc.soton.ac.uk> wrote:

*>
**> Hi
**>
**>
*

> I have a little vector function that takes a vector A of strictly

*> positive integers
**> and outputs a matrix M each of whose columns is the vector, modified in
**> a complicated combinatorical way.
**>
**> Now I want to generalize the function so that A can include zeroes.
**> Given A,
**> I want to strip out the zeroes, pass it to my function, and pad M
**> with rows at positions corresponding to the zeroes of A.
**>
**> Commented, minimal, self-contained, reproducible toy example follows.
**>
**>
**> f <- function(a){cbind(a,a+1,rev(a))} #real function a ghastly
**> nightmare
**>
**> A <- 1:5
**> f(A)
**> a
**> [1,] 1 2 5
**> [2,] 2 3 4
**> [3,] 3 4 3
**> [4,] 4 5 2
**> [5,] 5 6 1
**>
**>
**> # f() works as desired.
**>
**> # Now introduce A2, that includes zeroes. In my application, f(A2)
**> would fail
**> because of the zeroes.
**>
**> A2 <- c(1,0,0,2,4,0,3)
**>
**> I can strip the zeroes out and call f():
**> f(A2[A2>0])
**> a
**> [1,] 1 2 3
**> [2,] 2 3 4
**> [3,] 4 5 2
**> [4,] 3 4 1
**>
**> which is fine. How to put the zeroes back in in the appropriate rows
**> and get the following:
**>
**> > cbind(c(1,0,0,2,4,0,3),c(2,0,0,3,5,0,4),c(3,0,0,4,2,0,1))
**> [,1] [,2] [,3]
**> [1,] 1 2 3
**> [2,] 0 0 0
**> [3,] 0 0 0
**> [4,] 2 3 4
**> [5,] 4 5 2
**> [6,] 0 0 0
**> [7,] 3 4 1
**> >
**>
**>
**>
**> anyone?
**>
**>
**>
**> --
**> Robin Hankin
**> Uncertainty Analyst
**> National Oceanography Centre, Southampton
**> European Way, Southampton SO14 3ZH, UK
**> tel 023-8059-7743
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch 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.
**>
*

-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? [[alternative HTML version deleted]] ______________________________________________ R-help@stat.math.ethz.ch 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.Received on Fri Jul 28 02:22:53 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Fri 28 Jul 2006 - 04:18:49 EST.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*