Лучший способ визуально сравнить ценность отдельного человека с несколькими подгруппами означает в R

#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 в свой собственный код, но так как я не знал, что означают символы, я не знал, что искать.