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"
BobDie 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 bobvon 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.