Ich habe einen Datenrahmen. Nennen wir ihn bob
:
> head(bob)
phenotype exclusion
GSM399350 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399351 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399352 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399353 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399354 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399355 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
Ich möchte die Zeilen dieses Datenrahmens verketten (dies wird eine weitere Frage sein). Aber sehen Sie:
> class(bob$phenotype)
[1] "factor"
Bob
Spalten sind Faktoren. Also, zum Beispiel
> as.character(head(bob))
[1] "c(3, 3, 3, 6, 6, 6)" "c(3, 3, 3, 3, 3, 3)"
[3] "c(29, 29, 29, 30, 30, 30)"
Ich verstehe das nicht ganz, aber ich vermute, dass es sich um Indizes für die Ebenen der Faktoren der Säulen (des Hofes von König Caractacus) von bob
? Nicht das, was ich brauche.
Seltsamerweise kann ich durch die Spalten von bob
von Hand, und tun
bob$phenotype <- as.character(bob$phenotype)
was gut funktioniert. Und nach einiger Tipparbeit kann ich einen data.frame erhalten, dessen Spalten Zeichen und nicht Faktoren sind. Meine Frage lautet also: Wie kann ich dies automatisch tun? Wie kann ich einen data.frame mit Faktorenspalten in einen data.frame mit Zeichenspalten umwandeln, ohne jede Spalte manuell durchgehen zu müssen?
Zusatzfrage: Warum funktioniert der manuelle Ansatz?