У меня есть ряд оценок плотности, которые я хотел бы построить для сравнения в ggplot2. Я не привязан к какому-либо из подробностей, которые я выбрал до сих пор (например, должны ли они быть на одном участке, следует ли использовать грани, сетку.арранга и т. Д.) Я открыт для предложений:ggplot2: выстроить границы x на двух участках плотности
Первая попытка:
p1<-ggplot(data, aes(TPM,fill=col))+scale_x_log10()+scale_fill_brewer(type="div") + geom_density(alpha=.7)
p2<-ggplot(data, aes(RPKM,fill=col))+scale_x_log10()+scale_fill_brewer(type="div") + geom_density(alpha=.7)
grid.arrange(p1,p2,ncol=1)
Хорошо, но я хотел бы ось быть тем же самым, так что они сопоставимы.
Я попытался установить границы с помощью coord_cartesian(xlim=c(0,5))
, но я получаю ошибки, такие как
Error in seq.default(min, max, by = by) :
'from' cannot be NA, NaN or infinite
Я также попытался установить пределы в scale_x_log10(limits=c(0,5)
, но я получаю
Error in seq.default(range[1], range[2], length = 200) :
'from' cannot be NA, NaN or infinite
Error in exists(name, envir = env, mode = mode) :
argument "env" is missing, with no default
Есть ли лучший способ выровнять чтобы эти графики были более легко сопоставимы? Я бы выбрал любое решение.
Мои данные этой формы:
RPKM TPM col
1 0.129335235 0.602873040 3
2 0.395073341 1.724916453 4
3 0.004909958 0.003465248 1
4 0.466517328 0.557687694 1
5 0.522773169 0.486767563 1
6 0.179694966 0.180683888 1
чистого совершенства, именно то, что я хотел! Мне нужно будет больше узнать о reshape2 и расплавлении. – bdeonovic
Определенно включите [tidyr] (http://blog.rstudio.org/2014/07/22/introducing-tidyr/) в это исследование. Он протекает очень хорошо, если вы примете новый «канал» для передачи данных вокруг (ala magrittr/dplyr). – hrbrmstr