[R] Insert value in a Vector Alternately

baptiste auguie ba208 at exeter.ac.uk
Thu Feb 19 15:11:13 CET 2009


thanks all for the correction, funny how it's often the complicated  
solution that comes to mind first.

baptiste


On 19 Feb 2009, at 13:41, Eik Vettorazzi wrote:

> actually
>
> c(rbind(0,matrix(d, nrow=3)))
>
> which has the bonus of giving the desired result ;)
>
>
>
> baptiste auguie schrieb:
>> Perhaps you can try this,
>>
>>> d <- c(0.00377467,  0.00377467,  0.00377467,  0.00380083,
>>> 0.00380083,  0.00380083,
>>> 0.00380959,  0.00380959,  0.00380959,  0.00380083,  0.00380083,
>>> 0.00380083)
>>>
>>> c( t( cbind(matrix(d, ncol=3, byrow=T), 0)))
>>>
>>
>> I don't know how to avoid the transpose operation that might slow
>> things down in large cases.
>>
>> Hope this helps,
>>
>> baptiste
>>
>>
>>
>> On 19 Feb 2009, at 12:47, jim holtman wrote:
>>
>>> How about this:
>>>
>>>> dat<- 
>>>> c 
>>>> (0.00377467,0.00377467,0.00377467,0.00380083,0.00380083,0.00380083,0.00380959 
>>>> ,
>>>>
>>> + 0.00380959,0.00380959,0.00380083,0.00380083,0.00380083)
>>>> dat[seq(1, by=3, to=length(dat))] <- 0
>>>> dat
>>> [1] 0.00000000 0.00377467 0.00377467 0.00000000 0.00380083  
>>> 0.00380083
>>> 0.00000000 0.00380959 0.00380959 0.00000000 0.00380083
>>> [12] 0.00380083
>>>>
>>>
>>>
>>> On Thu, Feb 19, 2009 at 1:47 AM, Gundala Viswanath
>>> <gundalav at gmail.com> wrote:
>>>> Hi,
>>>>
>>>> I have a vector that look like this:
>>>>
>>>>> dat
>>>>           V1         V2         V3         V4         V5         V6
>>>> 0.00377467 0.00377467 0.00377467 0.00380083 0.00380083 0.00380083
>>>>           V7         V8         V9        V10        V11        V12
>>>> 0.00380959 0.00380959 0.00380959 0.00380083 0.00380083 0.00380083
>>>>
>>>>
>>>> what I want to do is to insert 0 (zero) for every 3 position  
>>>> yielding:
>>>>
>>>> V1   V2              V3                V4             V5    V6
>>>>  V7               V8
>>>> 0  0.00377467 0.00377467 0.00377467 0  0.00380083 0.00380083  
>>>> 0.00380083
>>>> V9   V10              V11                V12             V13    V14
>>>>      V15             V16
>>>> 0 0.00380959 0.00380959 0.00380959 0 .00380083 0.00380083  
>>>> 0.00380083
>>>>
>>>>
>>>> Is there a quick way to do it in R?
>>>>
>>>> - Gundala Viswanath
>>>> Jakarta - Indonesia
>>>>
>>>> ______________________________________________
>>>> R-help at 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.
>>>>
>>>
>>>
>>>
>>> --
>>> Jim Holtman
>>> Cincinnati, OH
>>> +1 513 646 9390
>>>
>>> What is the problem that you are trying to solve?
>>>
>>> ______________________________________________
>>> R-help at 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.
>>
>> _____________________________
>>
>> Baptiste Auguié
>>
>> School of Physics
>> University of Exeter
>> Stocker Road,
>> Exeter, Devon,
>> EX4 4QL, UK
>>
>> Phone: +44 1392 264187
>>
>> http://newton.ex.ac.uk/research/emag
>>
>> ______________________________________________
>> R-help at 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.
>
> --
> Eik Vettorazzi
> Institut für Medizinische Biometrie und Epidemiologie
> Universitätsklinikum Hamburg-Eppendorf
>
> Martinistr. 52
> 20246 Hamburg
>
> T ++49/40/42803-8243
> F ++49/40/42803-7790
>

_____________________________

Baptiste Auguié

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag




More information about the R-help mailing list