У меня есть график с двумя лессовыми линиями (с разным пролетом).
Теперь мне нужно выбрать одну из линий лесса и сгладить остатки.У этого бетона верхнее и нижнее сглаживание.В конце концов это должно выглядеть так:
Моя первая мысль была действительно глупой ... Что мне нужно только изменить значение диапазона, но, конечно, это было совершенно неправильно.
Мне не удалось найти что-то, что может помочь мне в Google.Я имею в виду, что нашел верхнее и нижнее сглаживание, но только расчеты.Существует ли команда R для простого рисования этих линий сглаживания?
Я создал небольшую таблицу, чтобы ее было легче выполнять (не самая лучшая, но она работает):
table <- structure(list(
Months = c("1980-06", "1980-07", "1980-08", "1980-09",
"1980-10", "1980-11", "1980-12", "1981-01"),
Total = c(75000, 70000, 60000, 73000, 72000, 71000, 76000, 71000)),
.Names = c("Monts", "Total of Killed Pigs"),
row.names = c(NA, 4L), class = "data.frame")
ts.obj <- ts(table$`Total of Killed Pigs`, start = c(1980, 1), frequency = 2)
plot(ts.obj)
trend1 <- loess(ts.obj ~ as.numeric(time(ts.obj)), data = table, span =1)
predict1 <- predict(trend1)
matlines(as.numeric(time(ts.obj)), predict1, col ="blue")
Для полнотывот мой оригинальный код (таблица, которую я получил с этой страницы: https://datamarket.com/data/set/22ky/monthly-total-number-of-pigs-slaughtered-in-victoria-jan-1980-august-1995#!ds=22ky&display=line):
obj <- read.csv(file="PATH/monthly-total-number-of-pigs-sla.csv", header=TRUE, sep=",")
ts.obj <- ts(obj$Monthly.total.number.of.pigs.slaughtered.in.Victoria..Jan.1980...August.1995, start = c(1980, 1), frequency = 12)
plot(ts.obj)
trend1 <- loess (ts.obj ~ as.numeric(time(ts.obj)) , data = obj, span =1)
trend2 <- loess (ts.obj ~ as.numeric(time(ts.obj)) , data = obj, span =0.1)
predict1 <- predict (trend1)
predict2 <- predict (trend2)
matlines(as.numeric(time(ts.obj)), predict1, lty =1, col="blue")
matlines(as.numeric(time(ts.obj)), predict2, col="red")