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 andere Frage sein). Aber schau:
> class(bob$phenotype)
[1] "factor"
Bob
Die 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 fange nicht an, das zu verstehen, aber ich denke, dies sind Indizes für die Faktoren der Säulen (des Hofes des Königs Caractacus) von bob
? Nicht was ich brauche.
Seltsamerweise kann ich die Säulen bob
von Hand durchgehen und es tun
bob$phenotype <- as.character(bob$phenotype)
das funktioniert gut. Und nach einigem Tippen kann ich einen data.frame erhalten, dessen Spalten eher Zeichen als Faktoren sind. Meine Frage lautet also: Wie kann ich das automatisch tun? Wie konvertiere ich einen data.frame mit Faktorspalten in einen data.frame mit Zeichenspalten, ohne jede Spalte manuell durchgehen zu müssen?
Bonusfrage: Warum funktioniert der manuelle Ansatz?
bob
.