Domanda

Ho un insieme di dati che assomiglia a questo ...

mine tonnes week
AA   112    41
AA   114    41
AA   119    41
BB   108    41 
BB   112    41
AA   110    42
AA   109    42
AA   102    43
AA   101    43

E io voglio creare un grafico a scatole in ggplot2 per mostrare la distribuzione di tonnellate per ogni settimana. Ma io voglio solo i risultati di miniera AA.

Ho pensato che avrebbe funzionato come questo ....

qplot(factor(week), tonnes[mine == "AA"], data = sql_results, geom = "boxplot")

Invece, ottengo questo errore.

Error in data.frame(x = c(13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L,  :

  arguments imply differing number of rows: 423100, 109436

E 'probabilmente morto semplice, ma non sto avendo molta fortuna per capire il modo giusto per farlo.

È stato utile?

Soluzione

close. Nel tuo esempio è stato creato un sottoinsieme di tonnellate, ma non di settimana.

sql_results<-structure(list(mine = structure(c(1L, 1L, 1L, 2L, 2L, 1L, 1L, 
1L, 1L), .Label = c("AA", "BB"), class = "factor"), tonnes = c(112, 
114, 119, 108, 112, 110, 109, 102, 101), week = c(41, 41, 41, 
41, 41, 42, 42, 43, 43)), row.names = c("1", "2", "3", "4", "5", 
"6", "7", "8", "9"), .Names = c("mine", "tonnes", "week"), class = "data.frame")

qplot(factor(week), tonnes, data = subset(sql_results,mine=="AA"), geom = "boxplot")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top