Отфильтровать кадр данных по фактору - R - PullRequest
0 голосов
/ 08 мая 2018

У меня есть следующий фрейм данных (называемый cats, доступ к которому можно получить с помощью library(MASS)

    Sex Bwt  Hwt
1     F 2.0  7.0
2     F 2.0  7.4
3     F 2.0  9.5
4     F 2.1  7.2
5     F 2.1  7.3
6     F 2.1  7.6
7     F 2.1  8.1
8     F 2.1  8.2
9     F 2.1  8.3
10    F 2.1  8.5

Сначала я создаю 3 фактора:

x = cut(cats$Bwt, breaks=3)

Теперь мне нужно собрать все данные, которые соответствуют первому фактору, вывести их на коробочную диаграмму. Затем сделайте то же самое для двух других факторов.

Я пытался:

new_data = subset(cats, cats$Bwt %in% x[1])

также

new_data = cats[which(cats$Bwt == x[1])]

Я не могу отфильтровать эти данные на основе фактора. Как это сделать?

1 Ответ

0 голосов
/ 08 мая 2018

Простой ответ заключается в том, что созданная вами переменная - это та, которую вы должны перебирать при выполнении сравнения. Итак:

new_data <- cats[which(x == unique(x)[1]),]

Другой альтернативой является не подмножество, а использование функциональности facet из ggplot что-то вроде этого

cats %>% 
  mutate(breaks = cut(Bwt, breaks=3)) %>% 
  ggplot() +
  geom_boxplot(aes(x = Sex, y = Hwt)) +
  facet_wrap(~breaks)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...