Таким образом, я просто придумал то, что я думаю, о самом быстром ответе на вопрос. Так как SVN не имеет способа автопроигнорировать каталоги, которые я не хочу обновленный...
Вот моя существующая структура dir:
корень-> goodDir 1-> goodDir 2 и т.д.
я удалил плохие каталоги из своего контроля. Я не могу привести в порядок 'svn' от корневого каталога, потому что он пытается перепроверить плохие каталоги.
, Но, следующая команда работает приятно:
ls | xargs svn up
Короткий, сладкий, простой, и легкий помнить.
Вы можете добиться этого с помощью встроенной функции embed ()
, где ее второй аргумент «измерение» эквивалентен тому, что вы назвали «отставание»:
x <- c(NA,NA,1,2,3,4)
embed(x,3)
## returns
[,1] [,2] [,3]
[1,] 1 NA NA
[2,] 2 1 NA
[3,] 3 2 1
[4,] 4 3 2
embed ()
обсуждалось в предыдущем ответе Джошуа Райха. (Обратите внимание, что я добавил x к NA, чтобы воспроизвести желаемый результат).
У него не очень удачное название, но он весьма полезен и эффективен для операций с скользящими окнами, таких как скользящие суммы и скользящие средние.
Функция , выполняющая
в пакете gtools
, делает более или менее то, что вы хотите:
> require("gtools")
> running(1:4, fun=I, width=3, allow.fewer=TRUE)
$`1:1`
[1] 1
$`1:2`
[1] 1 2
$`1:3`
[1] 1 2 3
$`2:4`
[1] 2 3 4
Используйте правильный класс
для ваших объектов; base R имеет ts
, у которого есть функция lag ()
для работы. Обратите внимание, что эти объекты ts
появились в то время, когда «дельта» или «частота» были постоянными: ежемесячные или квартальные данные, как в макроэкономических рядах.
Для нерегулярных данных, таких как (бизнес) ежедневно, используйте пакеты zoo или xts , которые также могут (очень хорошо!) справляться с задержками. Чтобы пойти дальше, вы можете использовать такие пакеты, как dynlm или dlm , которые позволяют создавать модели динамической регрессии с запаздыванием.
Представления задач по временным рядам, эконометрике, финансам имеют дополнительные возможности. указатели.