У меня есть большой фрейм данных, который содержит High, Low и High-Low для каждого столбца.У меня также есть столбец Base.Я хочу создать график для каждого набора префиксов, чтобы линейный график имел A_H, A_L, A_HL и Base, а затем то же самое для всех других соответствующих префиксов.
date A_H B_H C_H D_H A_L B_L C_L D_L A_HL B_HL C_HL D_HL Base
2/1/18 6 4 6 4 2 3 5 8 9 2 3 5 3
2/2/18 2 4 7 6 5 8 3 9 11 12 5 9 5
2/3/18 8 6 8 9 6 9 7 9 13 13 6 7 5
Я перепробовал несколько подходов без их работы.
GraphList <- c("A", "B", "C", "D")
for (i in seq_along(GraphList)){
plot <- ggplot(df, aes(date)) +
geom_line(aes(y=Base, colour='Base')) +
geom_line(aes(y=paste0(i,"High"), colour='High')) +
geom_line(aes(y=paste0(i,"Low"), colour='Low')) +
geom_line(aes(y=paste0(i,"LS"), colour='LS'))
print(plot)
Но когда я делаю вышеизложенное, графики не вставляют префиксы имен из списка, он просто выплевывает 1Hи 1L, 2H и 2L и т. д. в виде плоских линий на соответствующих графиках.
Я также пытался
plot <- ggplot(df, aes(date)) +
geom_line(aes(y=Base, colour='Base')) +
geom_line(aes(y=df[, grepl("_H", colnames(df))], colour='High')) +
geom_line(aes(y=df[, grepl("_L", colnames(df))], colour='Low')) +
geom_line(aes(y=df[, grepl("_LS", colnames(df))], colour='LS'))
print(plot)
Используя этот метод, я получил ошибку
Don't know how to automatically pick the scale for object of type tbl_df/tbl/data.frame. Defaulting to continuous
Error: aesthetics must be either length 1 or the same as the data (63): y, colour, x
СпасибоВы заранее.