Вот код: РЕДАКТИРОВАТЬ: СМ. ВОСПРОИЗВОДИМЫЙ КОД НИЖЕ
>require("quantmod")
>
> corn <- as.xts(read.zoo("~/CORN.csv", sep=",", format ="%m/%d/%Y", header=TRUE))
>
> head(corn)
[,1]
1962-01-03 4.03
1962-01-04 3.99
1962-01-05 4.02
1962-01-08 4.03
1962-01-09 4.05
1962-01-10 4.07
>
> corn <- to.weekly(corn)[,4]
>
> head(corn)
corn.Close
1962-01-05 4.02
1962-01-12 4.08
1962-01-19 4.11
1962-01-26 4.11
1962-02-02 4.08
1962-02-09 4.05
Как вы начинаете каждую неделю во вторник? Что-то в духе
indexAt='startof("Tuesday")'
где indexAt — переменная параметра в функции to.weekly().
Целью этого является согласование с еженедельными данными COT.
РЕДАКТИРОВАТЬ ##################
Я создал некоторую путаницу, не предоставив воспроизводимый код, поэтому вот некоторые из них с частичным решением, включенным на основе предложений Дж. Винчестера ниже:
> getSymbols("GLD")
[1] "GLD"
> GLD <- GLD[,4]
> head(GLD, n=2)
GLD.Close
2007-01-03 62.28
2007-01-04 61.65
> tues <- weekdays(time(GLD)) == "Tuesday"
> gold <- merge(GLD, tues)
> head(gold, n=5)
GLD.Close tues
2007-01-03 62.28 0
2007-01-04 61.65 0
2007-01-05 60.17 0
2007-01-08 60.48 0
2007-01-09 60.85 1