Как сделать график с ggplot из списка списка [duplicate]

для каждой третьей итерации вам нужно

if ($i % 3 === 0) 

, если какая-то третья итерация, затем

if ($i === 3)   
5
задан daniel 25 November 2012 в 21:57
поделиться

2 ответа

ggplot2 требуется data.frame в качестве исходных данных. Поэтому вам необходимо:

  1. преобразовать данные с помощью reshape2 (или plyr или многих других инструментов)
  2. с использованием qplot или ggplot, например
     ## transform data
     require(reshape2)
     h <- do.call(cbind, phat)
     h.melt <- melt(h)
    
     ## rename variables so they look nicer on plots
     names(h.melt) <- c("test","N","value")     
    
     ## stripchart (not shown)
     qplot(data = h.melt, x = value,y = N,color=N)+geom_point()
    
     ## histogram (not shown)    
     ggplot(h.melt,aes(x=value,fill=N))+geom_histogram()+facet_grid(N~.)
    
     ## dotplot with rug (not shown)
     ggplot(h.melt,aes(x=value,fill=N))+geom_dotplot()+facet_grid(N~.)+geom_rug()  
    
     ##density plot with rug (shown below)
     ggplot(h.melt,aes(x=value,fill=N))+geom_density()+facet_grid(N~.)+geom_rug() 
    
    enter image description here [/g0]
7
ответ дан SnowFrog 26 August 2018 в 12:59
поделиться

Лучшее, что я мог сделать по вашей подсказке, это:

qplot(data = h.melt, x = value,y = Var2)+ geom_point(shape=1, size=5)

, но все же он не отражает вероятности; точки должны быть сложены в виде своего рода гистограммы, чтобы отражать вероятности.

. Другой подход использует функцию плотности, но это может быть беспорядочно, если у меня есть много категорий образцов для построения.

ggplot(h.melt, aes(x=value, fill=Var2)) + geom_density(alpha=.5, position="identity")
1
ответ дан daniel 26 August 2018 в 12:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: