Domanda

Sto cercando di trama heatmap in ggplot2 utilizzando i dati CSV seguente soluzione di casbon in

http://biostar.stackexchange.com/questions/921/how-to-draw-a-csv-data-file-as-a-heatmap-using-numpy-and-matplotlib

il problema è x-label prova per riordinare stessa. Per esempio, se sostituisco COG0002 etichetta e COG0001 fatto che i dati di esempio, l'x-label ancora uscire in ordinamento (cog0001, cog0002, cog0003 .... cog0008).

Esiste un modo per evitare questo? Voglio che essere ordinati come in file CSV

grazie

pp

È stato utile?

Soluzione

Se si desidera mantenere l'ordine direttamente dal file CSV:

foomelt$COG <- factor(foomelt$COG, levels = as.character(foo[[1]]))

Altri suggerimenti

Se non ricordo male, quando si chiama fattore (x) con l'argomento livelli predefiniti, i livelli sono impostati i livelli = sort (unica (x)).

È possibile ignorare questa azione da livelli di impostazione = unico (x).

Ad esempio:

set.seed(1)
x = sample(letters, 100, replace = TRUE)
head(x, 5)

[1] "g" "j" "o" "x" "f"

levels(factor(x))

[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o " "P" "q" "r" "s"

[20] "t" "u" "v" "w" "x" "y" "z"

levels(factor(x, levels = unique(x)))

[1] "g" "j" "o" "x" "f" "y" "r" "q" "b" "e" "u" "m" "s" "z" "d " "k" "a" "w" "i"

[20] "p" "v" "c" "n" "t" "l" "h"

Si può vedere che i livelli di impostazione = unico (x) preserva l'ordine di accadimento nei dati.

Hai provato riordino livelli di fattore prima di tracciare? per es.

foomelt$COG = factor(foomelt$COG,levels(foomelt$COG)[c(2,1,3:8)])

(non riesco a Provalo ora, quindi non posso essere sicuro che funziona)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top