我有一个数据框。我们就这样称呼他吧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-
我想连接这个数据框的行(这将是另一个问题)。但看:
> class(bob$phenotype)
[1] "factor"
Bob
的列是因子。因此,例如:
> 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)"
我不明白这一点,但我猜这些是(卡拉克塔库斯国王的宫廷)列的因素水平的指数bob
?不是我需要的。
奇怪的是我可以浏览以下列bob
用手,做
bob$phenotype <- as.character(bob$phenotype)
效果很好。而且,经过一些输入后,我可以获得一个 data.frame,其列是字符而不是因子。所以我的问题是:我怎样才能自动做到这一点?如何将包含因子列的 data.frame 转换为包含字符列的 data.frame,而无需手动遍历每一列?
额外问题:为什么手动方法有效?