Причудливый Binned Boxplot при запуске RStudio на Ma c OS X - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь выучить R самостоятельно и изо всех сил стараюсь следовать книге «R for Data Science» от О'Рейли.

Я приступил к упражнению, в котором я хочу создать блок-диаграмму в виде столбца с подмножеством данных из набора данных «Алмазы» в пакете «Tidyverse». Когда я запускаю код в Bootcamp (Windows 10), я получаю ожидаемый результат с вертикальными коробочными диаграммами в заданной ширине корзины. Когда я запускаю его в ОС Ma c, бокс-поле кажется горизонтальным, и я не могу понять, почему! Смотрите мой результат здесь: Funky Boxplot when Running RStudio in Mac

Я уверен, что есть люди, которые скажут, что просто работают в Windows, но мой упрямый Macbook Pro 2016 года в режиме Windows 10 не любит подключаться к моему внешний, проводной монитор. Монитор отлично работает в режиме Ma c, поэтому я не хочу больше тратить время на выяснение того, почему подключение монитора ненадежно в режиме Windows 10.

Помимо личных проблем, ниже приведен идентичный код, который я использовал в RStudio для режимов Ma c и Windows. Прикрепленный / связанный выше - это выходной график, который я получаю, когда запускаю RStudio в Ma c. Боксы должны быть ориентированы вертикально. Надеясь, что кто-то может помочь мне понять, как исправить это странное происшествие при запуске RStudio и R в режиме Ma c!

Извините, если ссылка на mac / windows как разные «режимы работы» неверна. Это единственный способ передать разницу!

Вот мой код:

library(tidyverse)
smaller <- diamonds %>% filter(carat<3) # just want to see carats less than 3

ggplot(data=smaller,mapping=aes(x=carat,y=price))+ 
  geom_boxplot(mapping=aes(group=cut_width(carat,0.1)))

1 Ответ

0 голосов
/ 09 апреля 2020

В R-devel под linux я получаю тот же результат.

Это работает, хотя, если вы делаете:

library(tidyverse)
smaller <- diamonds %>% filter(carat<3) # just want to see carats less than 3
ggplot(smaller, aes(x=carat,y=price))+ 
    geom_boxplot(aes(x=cut_width(carat, .1)))

В качестве альтернативы, вы можете просто нарисовать это так:

library(tidyverse)
diamonds %>% filter(carat<3) %>% 
    mutate(carat = cut_width(carat,0.1)) %>% 
    ggplot(., aes(x=carat, y=price))+ geom_boxplot()+
    theme(axis.text.x = element_text(angle = 90, hjust = 1))

Создано в 2020-04-09 пакетом Представить (v0 .3.0)

...