Mam ramkę danych. Zadzwońmy do niego 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-
Chciałbym połączyć wiersze tej ramki danych (będzie to kolejne pytanie). Ale spójrz:
> class(bob$phenotype)
[1] "factor"
Bob
kolumny są czynnikami. Na przykład:
> 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)"
Nie zaczynam tego rozumieć, ale sądzę, że są to wskaźniki poziomów czynników kolumn (dworu króla Karaktakusa) bob
? Nie tego potrzebuję.
O dziwo mogę bob
ręcznie przejść przez kolumny i zrobić
bob$phenotype <- as.character(bob$phenotype)
co działa dobrze. Po wpisaniu mogę uzyskać ramkę data.frame, której kolumny to raczej znaki niż czynniki. Więc moje pytanie brzmi: jak mogę to zrobić automatycznie? Jak przekonwertować ramkę data.frame z kolumnami czynnikowymi na ramkę data.frame z kolumnami znaków bez konieczności ręcznego przechodzenia przez każdą kolumnę?
Pytanie dodatkowe: dlaczego działa podejście ręczne?
bob
.