Как я могу получить ggplot производить что-то подобное, как geom_vlines несколько vlines на участке
library(ggplot2)
library(reshape2)
library(ecp)
synthetic_control.data <- read.table("/path/synthetic_control.data.txt", quote="\"", comment.char="")
n <- 2
s <- sample(1:100, n)
idx <- c(s, 100+s, 200+s, 300+s, 400+s, 500+s)
sample2 <- synthetic_control.data[idx,]
df = as.data.frame(t(as.matrix(sample2)))
#calculate the change points
changeP <- e.divisive(as.matrix(df[1]), k=8, R = 400, alpha = 2, min.size = 3)
changeP = changeP$estimates
changeP = changeP[-c(1,length(changeP))]
changePoints = data.frame(changeP,variable=colnames(df)[1])
for(series in 2:ncol(df)){
changeP <- e.divisive(as.matrix(df[series]), k=8, R = 400, alpha = 2, min.size = 3)
changeP = changeP$estimates
changeP = changeP[-c(1,length(changeP))]
changePoints = rbind(changePoints, data.frame(changeP,variable=colnames(df)[2]))
}
это интересная часть о сюжете:
ДФ $ ID = 1: nrow (DF) dfMelt < - reshape2 :: расплав (df, id.vars = "id") p = ggplot (dfMelt, aes (x = id, y = значение)) + geom_line (color = "steelblue") + facet_grid (переменная ~., scales = 'free_y') p + geom_vline (aes (xintercept = changeP), data = changePoints, linetype = 'dashed')
Пока что мой результат: https://www.dropbox.com/s/mysadkruo946oox/changePoint.pdf, что означает, что что-то не так с моим массивом, переданным в geom_vlines
.
Не могли бы вы указать мне в правильном направлении, почему я только получаю vlines
на первых 2 участках?
Я обновил этот вопрос –
при установке R пакета ECP должна быть возможность просто копировать/вставить код. –
Я обновил вопрос - часть для ecp работает сейчас, и я получаю несколько простых строк, но только в частях графиков. –