#r #ggplot2
#r #ggplot2
Вопрос:
У меня есть переменная с 3 значениями: Мужчина, Женщина, Неизвестно. Для многих частей анализа мне нужно сохранить неизвестное, но я хочу сделать плотность/гистограмму, сравнивающую некоторые результаты БЕЗ неизвестного. Что еще мне нужно добавить, чтобы удалить одно из значений?
Мои данные выглядят так:
Описание пола | SATCompositeSuper |
---|---|
Женский | 730 |
Женский | 780 |
Мужской | 800 |
Женский | 1000 |
Женский | 1110 |
Женский | NA |
Мужской | 1050 |
Мужской | 950 |
Неизвестный | 900 |
Мужской | 780 |
Синтаксис:
# Color by groups- gender master_df %gt;% drop_na() %gt;% library(ggplot2) ggplot(master_df, aes(x=SATCompositeSuper, na.rm=TRUE, color=GenderDescription, fill=GenderDescription)) geom_histogram(aes(y=..density..), alpha=0.5, position="identity") geom_density(alpha=.2)
Выход по току (потому что я не думал о неизвестном) — это:
Комментарии:
1. Попробуйте заменить
master_df
наfilter(master_df, GenderDescription != "Unknown)
как объект данных для функции ggplot.
Ответ №1:
Ваш пример не создает сюжет, который вы показали в своем посте, однако я могу придумать два способа отфильтровать неизвестное
Во-первых, вы можете отфильтровать данные, прежде чем строить их
library(dplyr) library(tidyverse) master_df lt;- master_df %gt;% drop_na() %gt;% filter(GenderDescription != "Unknown") ggplot(master_df, aes(x=SATCompositeSuper, na.rm=TRUE, color=GenderDescription, fill=GenderDescription)) geom_histogram(aes(y=..density..), alpha=0.5, position="identity") geom_density(alpha=.2)
И второе-отфильтровать данные по мере построения графика
ggplot(data=master_df[!master_df$GenderDescription %in% c("Unknown"),], aes(x=SATCompositeSuper, na.rm=TRUE, color=GenderDescription, fill=GenderDescription)) geom_histogram(aes(y=..density..), alpha=0.5, position="identity") geom_density(alpha=.2)
Комментарии:
1. Вы имеете в виду, что мой график не похож на данные, которые я опубликовал? Я пытаюсь убедиться, что не упустил чего-то еще. Я не опубликовал все данные, потому что в них 14 тысяч строк, поэтому я надеялся, что идея с данными имеет смысл. Не лучше ли мне выложить все это, когда я спрошу? Все еще новичок здесь, поэтому хочу помочь тем, кого я прошу о помощи, лучше понять…или уловить более серьезные проблемы, потому что на данный момент это вполне возможно.
2. Я бы просто сказал, что это не полный набор данных. Кроме того, вы можете попытаться привести пример, который несколько похож на реальные данные. Полученный график из данных примера просто не похож на график, который вы опубликовали в своем вопросе, поэтому я начал сомневаться в своем ответе
3. У меня есть второй фильтр, который отлично работает. Первый каким-то образом включает в себя неизвестное до сих пор, поэтому я пока пойду по второму маршруту. Ошибка в первом случае может быть ошибкой пользователя с моей стороны. Большое спасибо за помощь!!
4. @KathyGodwin Я не добавил требуемую библиотеку для первого фильтра. Может быть, это поможет. Если мой ответ ответил на ваш вопрос, не стесняйтесь голосовать, примите ответ