У меня есть следующие данные в R:
id <- factor(seq(1:72))
initial.e <- rnorm(n=72, mean = 21.51, sd = 6.58)
initial.f <- rnorm(n = 72, mean = 20.75, sd = 3.378)
final.e <- rnorm(n = 72, mean = 19.81, sd = 7.48)
final.f <- rnorm(n = 72, mean = 19.77, sd = 5.389)
data <- data.frame(id,initial.e, initial.f, final.e, final.f)
Мне нужно создать график рассеяния с двумя прямыми линиями тренда для e
и f
, но я потерян, как его создать,Я нашел эту статью: https://sakaluk.wordpress.com/2015/08/27/6-make-it-pretty-plotting-2-way-interactions-with-ggplot2/, которую я пытался выполнить, но не работал так, как хотел.
Я также пытался использовать melt
из пакета reshape2
, но я не могу получить графики, чтобы показать, как я хочу - с двумя линиями тренда для e
и f
на диаграмме рассеяния,
datamelt <- melt(data, id = 'id')
datamelt <- datamelt %>% mutate(names = ifelse(datamelt$variable %in% c('initial.e', 'initial.f'), 'Before', 'After'))
datamelt <- datamelt %>% mutate(types = ifelse(datamelt$variable %in% c('final.e', 'final.f'), 'e', 'f'))
После этого дела пошли под гору.У всех кодов, которые я пробовал, либо есть какой-то базовый график рассеяния с geom_smooth()
, либо просто какая-то общая ошибка.
РЕДАКТИРОВАТЬ
График должен содержать диаграмму рассеяния, содержащую отношение между intial.e
и initial.f
с линией тренда и другое отношение между final.e
и final.f
с линией тренда на том же графике.