Я пытаюсь установить линейную регрессию (на самом деле 9 из них) через фигуру с 20 гранями. Каждый раз, когда я приспосабливаю регрессию (используя geom_smooth с помощью метода = lm), он подходит для 20 строк, по одному по каждой гранью, однако мне бы хотелось, чтобы одна строка для каждой комбинации ReefSpecies проходила через все 20 граней.Одна регрессия через множество граней в ggplot
Вот моя фигура:
Вот то, что я до сих пор:
Biomass <- c(20, 10, 5, 4, 5, 7, 8, 22, 13, 13, 15, 18, 2, 5, 7, 10)
Season <- c("Winter", "Spring", "Summer", "Fall")
Year <- c("1", "2", "3", "4")
ReefSpecies <- c("Admiral Ma", "Jaap Mf", "Grecian Ma", "Alligator Mf", "Jaap Mf", "Grecian Ma", "Alligator Mf", "Admiral Ma", "Grecian Ma", "Alligator Mf", "Admiral Ma", "Jaap Mf", "Alligator Mf", "Admiral Ma", "Jaap Mf","Grecian Ma")
Seasonal <- data.frame(Biomass, Season, Year, ReefSpecies)
testp <- ggplot(data = Seasonal, aes(x = Season, y = Biomass, group = ReefSpecies, fill = ReefSpecies, colour = ReefSpecies))
testp <- testp + geom_point(stat = "identity", position="identity", inherit.aes = TRUE)
testp <- testp + facet_grid(. ~ Year, scales="fixed")
testp <- testp + theme(axis.text.x = element_text(angle = 90))
testp <- testp + theme(panel.margin.x = unit(0, "lines"))
testp <- testp + theme(legend.position = "top")
testp
Пожалуйста сделайте ваш вопрос воспроизводимым. – Andrie
В этом ключе укажите немного данных, чтобы мы могли воспроизвести вашу проблему. – lmo
Материал ggplotGrob и все элементы темы не имеют отношения к вашему вопросу и просто делают сообщение трудным для глаз. Материал внутри 'geom_point()' также не нужен. Я предлагаю, чтобы в любой строке, которую вы используете, чтобы соответствовать регрессии (stat_smooth или что-то?), Вы специально задали эстетику 'group' внутри этого слоя. Обратите внимание, что в вашем первом вызове 'ggplot()' вы устанавливаете группировку и раскраску, которые будут унаследованы всеми остальными слоями, если вы не укажете иное. вы можете добавить что-то вроде '+ geom_smooth (method =" lm ", aes (group = 1))' – Matt74