Как сгенерировать несколько блокпостов для нескольких независимых переменных в наборе данных? - PullRequest
1 голос
/ 28 октября 2019

У меня есть устройство, которое генерирует электронную таблицу Excel по ряду параметров (например, высота, биомасса, NDVI, плотность и т. Д.). Эти независимые переменные включены в имена заголовков, и всем им присвоено числовое значение. Я хотел бы создать несколько коробочных графиков (по одному для каждой переменной), которые используют столбец «обработки» для создания нескольких значений х.

Например: для создания коробочного графика с высотой оси y и обработкой оси x, биомассой оси y + обработкой оси x и так далее.

Я знаю, как это обычно делать с ggplot2 и вручную вводить эту информацию, но я бы хотел посоветовать, как ее сгенерировать, чтобы y = column name, x= treatment.

Любая помощь будет принята с благодарностью :) Заранее спасибо!

1 Ответ

1 голос
/ 29 октября 2019

Если вы хотите, чтобы все они были на одной фигуре, но с отдельной панелью для каждого столбца, то расплавьте эти столбцы (см. ?tidyr::gather) и используйте ggplot2::facet_wrap(). Другими словами, измените длину данных так, чтобы вместо этого у вас был один столбец для «переменной» и один столбец для «значений», затем установите aes(y = values) и используйте facet_wrap(~ variable).

Ниже приведен пример с набором данных iris, использующим столбец Species в качестве обработки, а остальные в качестве параметров.

library(tidyr)
library(ggplot2)

data(iris)

iris %>%
  gather(var, val, -Species) %>%
  ggplot(aes(x = Species, y = val)) +
  facet_wrap(~ var, scales = "free_y") +
  geom_boxplot() +
  labs(
    x = "Treatment",
    y = "Parameter") +
  theme_bw()
...