Цель состоит в том, чтобы построить график согласованности между двумя временными рядами (то есть коэффициента корреляции по отношению к частотам). Как я могу добиться, чтобы 1 / частота (то есть период) по оси x были равномерно распределены?
t <- 0:99
ts1 <- ts(2*cos((2*pi)/24*t))
ts2 <- ts(2*cos((2*pi)/48*t))
ts12 <- ts.intersect(ts1, ts2)
Coh <- spec.pgram(ts12, spans=3)
plot(Coh$freq, Coh$coh, type='l')
plot(1/Coh$freq, Coh$coh, type='l') # how to get 1/freq to be evenly-space?
Я попытался изменить функцию spec.pgram (), но безуспешно. Точнее заменяю строчку:
freq <- seq.int(from = xfreq/N, by = xfreq/N, length.out = Nspec)
с участием:
freq.tmp <- seq.int(from = xfreq/N, by = xfreq/N, length.out = Nspec)
freq <- rev(1/seq(from=1/max(freq.tmp), to=1/min(freq.tmp), length.out=Nspec))
Кому-нибудь еще повезло больше? Спасибо