Как я могу разделить категориальные переменные два сделать два разных графиков в г? - PullRequest
0 голосов
/ 11 сентября 2018

Итак, скажем, я хочу сделать две гистограммы, которые сравнивают, связано ли время сна с ветераном или нет.У меня есть данные о «статусе ветерана» (который содержит значения «да» или «нет»), и у меня есть количественные данные о времени сна (в часах).Я хочу сделать гистограмму, которая содержит время сна ветеранов и время сна не-ветеранов.Но я не знаю, как разделить данные на ветеранов и не ветеранов.Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Если вы хотите создать 2 отдельных набора данных, вы можете использовать функцию subset, например:

df_veterans <- subset(df, veteran_status == "yes")
df_non_veteran <- subset(df, veteran_status == "no")

Вы также можете попробовать:

df_veterans <- df[veteran_status == "yes", ]
df_non_veteran <- df[!(veteran_status == "yes"), ]
0 голосов
/ 11 сентября 2018

Вот один из подходов, предполагая, что ваша таблица выглядит как dat ниже:

library(ggplot2)

# generate some fake data that sounds like what OP's table is 
dat <- data.frame(vet = sample(c("yes","no"), size=1e3, replace=TRUE), 
                  sleep = round(runif(1e3, min=1, max=5)) + sample(1:4, 1))

# make a histogram of `$sleep` grouped by `$vet` status: 
ggplot(dat, aes(x=sleep, fill=vet)) + 
  geom_histogram(position="dodge", bins=5)

Результат будет выглядеть следующим образом: grouped histogram

Или выможет создавать параллельные гистограммы (одна для "yes" ветеранов, одна для "no"), например:

ggplot(dat, aes(x=sleep)) + 
  geom_histogram(position="dodge", bins=5) + 
  facet_wrap(~vet)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...