R-Paket reshape-Funktion, Schmelzen Fehler: id Variablen, die nicht in die Daten, wenn die Arbeit mit einer Vielzahl von Faktoren
Arbeite ich mit der rarefaction-Ausgabe von mothur, die im Grunde gibt mir einen Datensatz mit der Anzahl der Sequenzen der Stichprobe und der Anzahl einzigartiger Sequenzen in mehreren Proben. Ich möchte mit ggplot2 diese Daten visualisieren und müssen daher verwenden melt
zu gehen von einem wide
zu einem long
- format.
Das problem ist, dass ich keinen Weg findet, um diese Arbeit zu machen aufgrund eines Fehlers der melt
. Die im wesentlichen besagt
Fehler: id Variablen, die nicht in Daten: 1,3,6, (... und so weiter)
Wegen der Größe der original-Datensatz, es wäre impractcal zu teilen, um es hier dennoch sollte man in der Lage sein, zu reproduzieren, ist das gleiche problem mit dem folgenden code:
a<-seq(0,300,3)
b<-runif(length(a))
c<-runif(length(a))
d<-as.data.frame(cbind(a,b,c))
d$a<-as.factor(d$a)
melt(d,d$a)
Gibt genau den gleichen Fehler:
Fehler: id Variablen, die nicht in Daten: 0,3,6,9, (...)
Ich sehe nicht, was ich falsch mache. Ich bin mit R 2.15.1 auf ubuntu server 12.04. Sowohl die Funktion als reshape::melt
und reshape2::melt
Ergebnis in den gleichen Fehler.
InformationsquelleAutor FM Kerckhof | 2012-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden:
Aus der Hilfe von
?melt.data.frame
:Damit Ihre
id.vars
- argument muss ein Charakter-Vektor, der die Namen, z.B. "a" oder ein numerischer Vektor, z.B.1
. Die Länge dieses Vektors sollte gleich der Anzahl der Spalten, die Sie wollen, wie Sie Ihre id.Stattdessen verwendet Sie eine Faktor, die weit mehr Elemente als Spalten in Ihren Daten.
Es ist eine ziemlich häufige kognitive Fehler. Sie benötigt, um geben Sie die "name" - Spalte, wie das zweite argument zu Schmelzen, statt die Werte in dieser Spalte das ist, was
d$a
gibt. In diesem Fall könnten Sie verwendet haben, nur die Nummer 1.InformationsquelleAutor Andrie