令我惊讶的是,当连接 vector 时,R会把因子强制转换为数字。即使级别相同,也会发生这种情况。例如:

> facs <- as.factor(c("i", "want", "to", "be", "a", "factor", "not", "an", "integer"))
> facs
[1] i       want    to      be      a       factor  not     an      integer
Levels: a an be factor i integer not to want
> c(facs[1 : 3], facs[4 : 5])
[1] 5 9 8 3 1

在R中这样做的惯用方式是什么(在我的情况下,这些 vector 可能很大)?谢谢。

最佳答案

R Mailing list:

unlist(list(facs[1 : 3], facs[4 : 5]))

要“束缚”因素,要做
data.frame(facs[1 : 3], facs[4 : 5])

关于r - 如何串联因子,而不将其转换为整数级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3443576/

10-12 05:45