Как расплавить R data.frame и построить группу по гистограмме
У меня есть следующий R data.frame:
group match unmatch unmatch_active match_active
1 A 10 4 0 0
2 B 116 20 0 3
3 c 160 27 1 4
4 D 79 17 0 3
5 E 309 84 4 14
6 F 643 244 10 23
...
Моя цель - построить группу по гистограмме (http://www.cookbook-r.com/Graphs/Bar_and_line_graphs_(ggplot2)/ section-Графики с большим количеством переменных), как показано в ссылке.
Я понимаю, что, прежде чем перейти к этому, мне нужно получить данные в следующем формате
group variable value
1 A match 10
2 B match 116
3 C match 160
4 D match 79
5 E match 309
6 F match 643
7 A unmatch 4
8 B unmatch 20
...
Я использовал функцию плавления:
groups.df.melt <- melt(groups.df[,c('group','match','unmatch', 'unmatch_active', 'match_active')],id.vars = 1)
Я не думаю, что я делаю плавку правильно, потому что после выполнения вышеупомянутых groups.df.melt содержит более 1000 строк, что не имеет смысла для меня.
Я посмотрел на то, какНарисуйте гистограммы в строке на несколько столбцов в R и пытался следовать тому же самому, но я не получаю график, который я хочу.
Кроме того, я получаю следующую ошибку: Когда я пытаюсь сделать черчение:
ggplot(groups.df.melt, aes(x='group', y=value)) + geom_bar(aes(fill = variable), position="dodge") + scale_y_log10()
Mapping a variable to y and also using stat="bin".
With stat="bin", it will attempt to set the y value to the count of cases in each group.
This can result in unexpected behavior and will not be allowed in a future version of ggplot2.
If you want y to represent counts of cases, use stat="bin" and don't map a variable to y.
If you want y to represent values in the data, use stat="identity".
See ?geom_bar for examples. (Deprecated; last used in version 0.9.2)
Error in pmin(y, 0) : object 'y' not found