Nano Hash - криптовалюты, майнинг, программирование

Хорошее качество geom_text в множественных facet_grid в ggplot2 с уравнениями регрессии

Я хотел построить несколько уравнений регрессии в разных аспектах, используя ggplot2... и я думаю, что мне это удалось благодаря этот пост.

А вот шрифт geom_text уродлив, так как несколько раз копирует одни и те же буквы в одну и ту же текстовую зону:

iris <- iris
iris2 <- data.frame(iris, family = c(rep(rep(1:2,25),3)))
iris3 <- data.frame(iris2, group = paste(iris2$Species, iris2$family, sep = "_"))

intercept <- ddply(iris3, .(group), function(x)  coefficients(lm(Petal.Length~Petal.Width,x)))
rcarre <- ddply(iris3, .(group), function(x) summary(lm(Petal.Length~Petal.Width,x))$r.squared) 

names(rcarre) <- c("group", "R2") 
names(intercept) <- c("group", "intercept", "slope") 
coefs <- merge(intercept, rcarre) 
coefs <- data.frame(coefs,
                eq = paste("Y=",round(coefs$intercept,2),"+",round(coefs$slope, 2),"x",", ","R2=",round(coefs$R2,2), sep = ""))
coefs$eq = as.character(coefs$eq)

iris4 <- merge(iris3, coefs)

ggplot(iris4, aes(x = Petal.Width, y = Petal.Length, colour = Species)) +
  geom_point() +
  geom_smooth(method=lm, se=F) +
  facet_grid(family~Species) +
  geom_text(aes(label=eq, x=1.5, y=6)) +
  theme_linedraw() 

Я попытался использовать данное решение здесь но у меня не работает

ggplot(iris4, aes(x = Petal.Width, y = Petal.Length, colour = Species)) +
  geom_point() +
  geom_smooth(method=lm, se=F) +
  facet_grid(family~Species) +
  geom_text(aes(label=iris4$eq, x=1.5, y=6), data = data.frame()) +
  theme_linedraw() 

С аннотацией у меня появляется сообщение об ошибке (я понимаю проблему, но не могу ее решить)

ggplot(iris4, aes(x = Petal.Width, y = Petal.Length, colour = Species)) +
  geom_point() +
  geom_smooth(method=lm, se=F) +
  facet_grid(family~Species) +
  annotate("text", x = 1.5, y = 6, label = iris4$eq) +
  theme_linedraw() 

И если я обращусь к таблице коэффициентов (той же длины, что и грани), уравнения больше не совпадают

ggplot(iris4, aes(x = Petal.Width, y = Petal.Length, colour = Species)) +
  geom_point() +
  geom_smooth(method=lm, se=F) +
  facet_grid(family~Species) +
  annotate("text", x = 1.5, y = 6, label = coefs$eq) +
  theme_linedraw() 

У кого-нибудь будет решение?

Большое спасибо !

29.11.2016

Ответы:


1

Проблема в том, что ggplot печатает текст для каждой строки данных. Вы можете остановить это, указав только одну строку для каждой метки. Здесь я делаю это с помощью dplyr::distinct, но были бы и другие способы

ggplot(iris4, aes(x = Petal.Width, y = Petal.Length, colour = Species)) +
  geom_point() +
  geom_smooth(method=lm, se=F) +
  facet_grid(family~Species) +
  geom_text(aes(label=eq, x=1.5, y=6), data = dplyr::distinct(iris4, eq, .keep_all = TRUE)) +
  theme_linedraw() 
29.11.2016
  • Проблема в том, что ggplot печатает текст для каждой строки данных: я знал это (я читал об этом в других сообщениях), но я не мог найти способ решить эту проблему... ответ именно то, что мне нужно! Большое спасибо @RichardTelford 30.11.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..