Я пытаюсь создать график скрипки в R из данных подсчета. Данные, которые я использую, — это количество мутаций, обнаруженных в каждом образце для каждого источника.
Это выглядит примерно так:
2 Source1
8 Source2
0 Source1
1 Source1
9 Source2
...
Я уже использовал приведенный ниже код для создания нескольких графиков.
ggplot(df_combined, aes(factor(names), y=mutations)) +
geom_violin() +
geom_boxplot(width=.1, outlier.size=0, fill="grey50") +
stat_summary(fun.y=median, geom="point", fill="white", shape=21, size=4) +
xlab("Source") +
ylab("Number of mutations") +
theme(axis.text = element_text(colour = "black"))`
В то время как большинство из них отображаются просто отлично, некоторые из них начинают «раскачиваться» (лучший способ, которым я могу это объяснить). Вот пример, который не работает.
Я предполагаю, что это потому, что мои данные дискретны, а не непрерывны, но я не могу найти ничего о том, как изменить это для сюжета скрипки. Есть ли способ заставить это работать с ggplot2 и geom_violin?
Данные ниже:
structure(list(mutations = c(6, 6, 6, 6, 6, 6), names = structure(c(1L, 1L, 1L, 1L, 1L,
1L), .Label = c("1kG", "CG"), class = "factor")), .Names = c("mutations", "names"),
row.names = c(NA, 6L), class = "data.frame")
geom_dotplot
пример). Тем временем это было опубликовано в группеggplot2
Google, где Уинстон Чанг также предоставил ответ: groups.google.com/forum/?fromgroups=#!topic/ggplot2/JT653NWKilQ Пока я занимаюсь этим, beanplot — еще одно возможное решение (хотя и не в пределахggplot2
по состоянию на сейчас) - person Ben Bolker   schedule 06.12.2012