Невозможно перебрать гистограмму ggplot - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь перебрать каждый столбец набора данных радужной оболочки и построить гистограмму в ggplot. Поэтому я ожидаю появления 5 разных гистограмм. Однако мой цикл for ничего не возвращает. Как я могу это исправить?

library(ggplot2)

for (i in colnames(iris)){
  ggplot(iris, aes(x = i))+
    geom_histogram()
}

Ответы [ 2 ]

2 голосов
/ 19 марта 2019

Вместо использования цикла for способ tidyverse / ggplot заключается в изменении формы данных с широкого на длинный, а затем построении графика с использованием facet_wrap

library(tidyverse)
iris %>%
    gather(key, val, -Species) %>%
    ggplot(aes(val)) +
    geom_histogram(bins = 30) +
    facet_wrap(~key, scales = "free_x")

enter image description here

1 голос
/ 19 марта 2019

Использование dplyr, tidyr и ggplot:

library(ggplot2)
library(dplyr)
library(tidyr)

iris %>% 
  gather(Mesure, Value, -Species) %>%
  ggplot(aes(x=Value)) + geom_histogram() + facet_grid(rows=vars(Species), cols=vars(Mesure))

Результат: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...