【发布时间】:2018-11-07 08:27:37
【问题描述】:
问题:为什么将字符向量附加到数据帧(使用
cbind或data.frame)会将字符向量变成因子向量?除了
cbind或data.frame之外,有没有人知道可以让我避免这种意外和不受欢迎的行为的功能?
这是一个 MWE:
ab = data.frame(a= c("a", "a"), b= c("b", "b"))
c = c("c", "c")
class(c)
'字符'
abc1 = data.frame(ab, c)
class(abc1$c)
'因素'
class(abc1$a)
'字符'
class(abc1$b)
'字符'
abc2 = cbind(ab, c)
class(abc2$c)
'因素'
class(abc2$a)
'字符'
class(abc2$b)
'字符'
如果原始数据框的列是因子,或者在附加第三列的过程中也被转换为因子,那么这种行为对我来说会更有意义,但至少对于我的 R 版本好像不是这样的。
【问题讨论】:
-
data.frame有一个默认的stringsAsFactors = T。尝试将此设置为 false
标签: r