Я использую функцию взаимной корреляции (ccf), чтобы показать дневные задержки в разрядах из разных источников. Я использовал ccf для кода ggplot для лучшей визуализации. Мои результаты были похожи на изображение ниже, и код работал безупречно, но затем я перезапустил код, и теперь у меня появляется ошибка. Первоначально я немного изменил исходный код, но как только у меня возникла ошибка, я вернулся к исходному исходному коду, и ошибка сохраняется!
Данные, код и проблема:
# example data
big = runif(60)
mangum = runif(61:120)
hydro = data.frame(big, mangum)
# Using the ccf to ggplot function (from the above link)
xcf_plot <- function(df, x, y, title = "Cross Correlation"){
df_x <- eval(substitute(x), df)
df_y <- eval(substitute(y), df)
ccf.object <- ccf(df_x, df_y, plot = FALSE)
output_table <- cbind(lag = ccf.object$lag,
x.corr = ccf.object$acf) %>%
as_tibble() %>%
mutate(cat = ifelse(x.corr > 0, "green", "red"))
output_table %>%
ggplot(aes(x = lag, y = x.corr)) +
geom_bar(stat = "identity", aes(fill = cat))+
scale_fill_manual(values = c("#339933", "#cc0000"))+
ylab("Cross correlation")+
scale_y_continuous(limits = c(-1, 1))+
theme_bw()+
theme(legend.position = "none",
plot.title = element_text(size=10))+
ggtitle(title) -> p
ggsave(paste(title, ".jpg"), plot = p, height = 2.7, width = 4, units = "in")
}
# The only thing I originally changed from the source code was ".svg" to ".jpg",
# "theme_economist()" to "theme_bw()" and colors.
# run the function
xcf_plot(df = hydro, x = hydro$big, y = hydro$mangum, title = "big and mangum")
Сообщение об ошибке:
Ошибка в ifelse (x.corr> 0, «зеленый», «красный»): объект «x.corr» отсутствует
найден
Есть идеи, почему это происходит? Это особенно странно, потому что я мог использовать этот же код ранее, и он работал безупречно:
.
Вот информация о моей сессии:
R version 3.4.3 (2017-11-30),
Platform: x86_64-w64-mingw32/x64 (64-bit),
Running under: Windows 10 x64 (build 16299)