#r #ggplot2
Вопрос:
Для отдельного отзыва, сгенерированного Блестящим приложением в R, я хотел бы визуально сравнить значение отдельного человека в переменной X со средним значением по всей группе, средним значением людей одного возраста и средним значением людей, занимающихся одними и теми же видами спорта. Я подумывал о создании столбчатой диаграммы с четырьмя столбцами для каждого значения, и, поскольку я продолжаю читать, что ggplot2 удобен для построения графиков, попытался выяснить, как это сделать в ggplot2. Однако при попытке реализовать эту идею фактор по оси x концептуально будет подмножеством набора данных, и поскольку подмножества построены из разных переменных, и один человек может находиться в более чем одном подмножестве, я, кажется, совершенно не могу понять, как на самом деле передать это в любой синтакс barplot, который я нашел. Я задавался вопросом, можете ли вы просто составить список в соответствии с c(your_value, среднее значение(группа), среднее значение(набор возрастных данных), среднее значение(набор спортивных данных)), но я не понял, возможно ли это, также первое составление списка или даже второго фрейма данных кажется мне довольно грязным — разве нет более простого и элегантного способа сделать что-то подобное?
Ответ №1:
Ниже я начинаю с произвольных чисел (эквивалентных списку, с которого вы хотели начать). Код может дать вам представление о том, как создать общую функцию того типа, который вы ищете.
library(ggplot2)
library(dplyr)
own_result <- 5.4
mean_age <- 5.6
mean_sport <- 4.5
data.frame(group = c("age", "sport"),
means = c(mean_age, mean_sport)) %>%
ggplot(aes(x = group, y = means))
geom_bar(stat = "identity")
geom_hline(yintercept = own_result, lty = 2, col = "red")
Создано 2021-07-20 пакетом reprex (v2.0.0)
Комментарии:
1. Что означает%>%? Я попытался построить что — то из вашего предложения, но R будет жаловаться на этот кусочек
2. Это «труба» из
magrittr
пакета, которая импортируетсяdplyr
. Если вы запустилиlibrary(dplyr)
первым, как в моем коде, то вы не должны увидеть ошибку. Или «бегиlibrary(tidyverse)
«, что дает тебеdplyr
,ggplot2
, и кучу других вещей.3. Хорошо, я понимаю — спасибо. На самом деле я забыл загрузить dplyr в свой собственный код, но так как я не знал, что означают символы, я не знал, что искать.