Skip to content
Back to formatted view

Raw Message

Message-ID: <894643FDEA3A854A89B3E828737E2B1F0167A39D94F8@HERMES8.ds.leeds.ac.uk>
Date: 2013-11-17T14:47:03Z
From: Benjamin Gillespie
Subject: Extract values from vector and repeat by group

Hi all,

I hope you can help.

I have a data frame 'df':

group=c(rep(1,8),rep(2,10),rep(3,11))
var=rnorm(29)
time=c(seq(1,8),seq(1,10),seq(1,11))
df=data.frame(group,var,time)

I would like to extract the value from 'var' for each 'group' at 'time'=4 and repeat these extracted values in a new vector ('new') n times where n is the number of rows for each group. I did this by hand as below, but there must be a quicker way:

subset=subset(df,df$time==4)
subset
group        var time
4      1  0.2531270    4
12     2 -0.3600128    4
22     3  0.4194730    4

df$new=c(rep(0.2531270,8),rep(-0.3600128,10),rep(0.4194730,11))

Any questions please ask,

Many thanks in advance,

Ben Gillespie, Research Postgraduate
o-------------------------------------------------------------------o
School of Geography, University of Leeds, Leeds, LS2 9JT
o-------------------------------------------------------------------o
Tel: +44(0)113 34 33345
Mob: +44(0)770 868 7641
o-------------------------------o
http://www.geog.leeds.ac.uk/
o-------------------------------------o
@RiversBenG
o--------------o