i would recommend a slightly different workflow, one which you will likely find has broader utility:
> end = Sys.Date()
> start = end - 365
> class
> # create the index array comprised of date objects
> ndx = seq(start, end, by='weeks')
> class(ndx)
  [1] "Date"
> length(ndx)
  [1] 53
> # create a fake data array
> x = 1:length(ndx)
> mydata = sin(x/2)
> # import a time series library 
> require(xts)
> # create the time series
> myts = xts(mydata, order.by=ndx)
> myts[1:5]
               [,1]
  2012-09-19 3.479426
  2012-09-26 3.841471
  2012-10-03 3.997495
  2012-10-10 3.909297
  2012-10-17 3.598472
> class(myts)
  [1] "xts" "zoo"
> periodicity(myts)
  Weekly periodicity from 2012-09-19 to 2013-09-18 
Alternatively, if your data is not by week, then you can create a time series having a higher resolution (eg, days) then roll it up to weeks:
> ndx = seq(start, end, by='days')
> x = 1:length(ndx)
> mydata = sin(x/2) + 3
> myts = xts(mydata, order.by=ndx)
> myts[1:5]  
             [,1]
2012-09-19 3.479426
2012-09-20 3.841471
2012-09-21 3.997495
2012-09-22 3.909297
2012-09-23 3.598472
> periodicity(myts)
    Daily periodicity from 2012-09-19 to 2013-09-19 
> # now roll-up this daily series to weeks
> require(xts)
> # first create the endpoints
> np = endpoints(myts, on='weeks')
> myts_weeks = period.apply(x=myts, INDEX=np, FUN=sum, na.rm=TRUE)
> myts_weeks[1:5]
               [,1]
  2012-09-23 18.82616
  2012-09-30 17.11212
  2012-10-07 24.93492
  2012-10-14 17.51811
  2012-10-21 23.58635
> periodicity(myts_weeks)
  Weekly periodicity from 2012-09-23 to 2013-09-19