Как нарисовать гистограмму части таблицы в ggplot - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть df, и теперь я хочу нарисовать часть этой таблицы, например, первые 4 компа, используя гистограмму в ggplot, x это их имя и y это их вес, как я могу это сделать? действительно спасибо. Вот данные, и я могу нарисовать гистограмму по гистограмме (пропорция [1: 5]), но я не знаю, как это сделать, используя ggplot.

Comp.1     Comp.2     Comp.3     Comp.4     Comp.5     Comp.6     Comp.7     Comp.8     Comp.9 
0.40621148 0.11918044 0.10076079 0.09143389 0.07362891 0.07093344 0.05213663 0.03896318 0.03318098 
Comp.10 
0.01357027 

1 Ответ

0 голосов
/ 25 февраля 2020

ggplot работает лучше всего, когда данные «длинные» - 1 столбец на переменную, 1 строка на наблюдение. Вы можете изменить свои данные, используя tidyr::gather(). Обратите внимание, что gather заменяется на pivot_long, но все еще работает на данный момент.

library(ggplot2)
library(tidyr)

mydata <- read.table(text = "Comp.1     Comp.2     Comp.3     Comp.4     Comp.5     Comp.6     Comp.7     Comp.8     Comp.9 Comp.10 
0.40621148 0.11918044 0.10076079 0.09143389 0.07362891 0.07093344 0.05213663 0.03896318 0.03318098 0.01357027",
header = TRUE)

mydata %>%
  gather(Var, Val)

       Var        Val
1   Comp.1 0.40621148
2   Comp.2 0.11918044
3   Comp.3 0.10076079
4   Comp.4 0.09143389
5   Comp.5 0.07362891
6   Comp.6 0.07093344
7   Comp.7 0.05213663
8   Comp.8 0.03896318
9   Comp.9 0.03318098
10 Comp.10 0.01357027

Итак, один из способов построить первые 4 строки:

mydata %>% 
  gather(Var, Val) %>% 
  head(4) %>% 
  ggplot(aes(Var, Val)) + geom_col()

enter image description here

Обратите внимание, что столбцы упорядочены правильно при использовании только 1-4, но вам, возможно, придется изменить их порядок при использовании других чисел.

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