Я пытаюсь построить несколько графиков с помощью ggplot. У меня есть .xls с 20 наблюдениями из 216 переменных. Данные разделены на 6, поэтому меня интересуют 6 больших блоков. Я создал эти данные, используя другой цикл, так что каждый блок делится на 3 (набор из 12 переменных). Я хочу построить для каждого из 6 блоков первые переменные меньших блоков. Поэтому в сюжете я хочу иметь: my_data [, i], my_data [, i + 12], my_data [, i + 24], где i изменяется от 1:12 (так что i == 12 -> 12 + 24 = 36).ggplot не строит в петле
time= 1:20 # definir #periodos
title = c("pib", "c", "i", "l", "pi", "r", "w", "cl", "cc", "wrel","lrel", "yrel") # for titles
title = rep(title, 3)
plot_list = list()
for (i in 1:12) {
df = data.frame(time,
as.numeric(my_data[,i],as.numeric(my_data[,i+12]),
as.numeric(my_data[,i+24])))
p = ggplot(df, aes(x = time, y= as.numeric(my_data[,i])))
+ geom_line()
+ geom_line(aes(y=as.numeric(my_data[,i]), colour="nr = 0.32"))
+ geom_line(aes(y=as.numeric(my_data[,i+12]), colour="nr = 0.4"))
+ geom_line(aes(y=as.numeric(my_data[,i+24]), colour="nr = 10"))
+ scale_colour_manual("", breaks=c("nr = 0.32", "nr = 0.4", "nr = 10"),
values = c("green", "royalblue4", "orangered"))
+ labs(x = "periodos", y = "vg4")
+ ggtitle(paste0(title[i], "_vg4 for diff.nr - tax"))
plot_list[[i]] = p
print(p)
}
Когда я это делаю, печатается только третье значение (nr = 10). Кто-нибудь знает, что происходит? Я уже пытался определить свой data.frame
по-разному, но вывод всегда один и тот же. спасибо !!
Данные и .r файл находится в: https://www.dropbox.com/sh/efjtanbh5oznrg5/AADrhSUXOu3MYSCGLcFnNY_ea?dl=0
Помогите нам помочь вам, сделав ваш код воспроизводимым (здесь это означает предоставление данных, которые работают с вашим кодом). Одна из проблем заключается в том, что вы даете ggplot фрейм данных 'df', но тогда вы ссылаетесь на отдельный фрейм данных (' my_data') в каждом вызове 'aes' (и внутри aes вы должны ссылаться только на имена столбцов; подаваться в 'ggplot' или в аргумент' data' 'geom'). Вы проверили, работает ли код построения вне цикла? – eipi10
Только последний 'geom_line()' читается, потому что он последний раз называется и работает прямо над другими точными тенденциями. Я подозреваю, что столбцы i, i + 12, i + 24 сохраняют точные значения. Проверьте, переставляя линии геометрии и посмотрите, будет ли отображаться только последнее, здесь будет 'nr = 10'. – Parfait