Вот решение R.
Раскомментируйте две строки install.packages
, если эти пакеты еще не установлены. Кроме того, textConnection(Lines1)
и textConnection(Lines2)
предназначены только для того, чтобы оставить пример самодостаточным, и в действительности его можно заменить на что-то вроде "myfile1.dat"
и "myfile2.dat"
, предполагая, что данные находятся в этих файлах.
Считывает в данных создания зоопарка объект z
и вектор даты dt
. Затем он объединяет z
с объектом зоопарка нулевой ширины (т. Е. У него есть даты, но нет данных), чей индекс даты сделан из dt
. na.locf
(последнее перенесенное наблюдение) заполняет пропущенные значения в обратном порядке, поскольку fromLast = TRUE
Lines1 <- "Date Price
1/3/2000 10.00
1/5/2000 10.45
1/7/2000 10.25"
Lines2 <- "Date
1/1/2000
1/2/2000
1/3/2000"
# install.packages("zoo")
# install.packages("chron")
library(zoo)
library(chron)
z <- read.zoo(textConnection(Lines1), header = TRUE, FUN = as.chron)
dt <- as.chron(scan(textConnection(Lines2), skip = 1, what = ""))
na.locf(merge(z, zoo(, dt)), fromLast = TRUE)
Результат:
> na.locf(merge(z, zoo(, dt)), fromLast = TRUE)
01/01/00 01/02/00 01/03/00 01/05/00 01/07/00
10.00 10.00 10.00 10.45 10.25
Есть три виньетки (документы в формате PDF), которые поставляются с зоопарком и R News 4/1 Статья службы поддержки содержит информацию и ссылки на даты.