[R] filling an array

Jim Lemon jim at bitwrit.com.au
Sun Feb 24 05:12:08 CET 2013


On 02/24/2013 02:56 PM, Jannetta Steyn wrote:
> Hi All
>
> I'm just wondering if there is a quick way of filling a way with  the
> following.
>
> I want to declare array I with a specific length and then alternatively
> fill it with 10 zeros and 10 specified values:
>
> v<- 14
> I<- c(0,length(t))
>
> But in stead of just filling I with 0 I want 10 zeros and then 10 fourteens
> (i.e. the value in v)
>
> Hope that makes sense.
>
Hi Janetta,
It makes some sense, but perhaps not enough. The easy answer would be:

I<-c(rep(0,10),rep(v,10))

If you mean you want _alternating_ values:

I<-rep(c(0,14),10)

If you want a general solution to the problem of filling a vector of 
arbitrary length with alternating values:

fill_alternating<-function(len=2,value1=0,value2=1) {
  return(rep(c(value1,value2),(len+1)/2)[1:len])
}

There are probably other interpretations as well.

Jim



More information about the R-help mailing list