cbind返回因子向量的索引

时间:2014-07-21 13:30:44

标签: r

我正在尝试使用以下代码连接2个向量,一个因子向量和一个字符向量:

results2 <- cbind(customer, result)

问题是向量客户正在与行号连接,而不是客户因子的实际值。

它应该返回

customer result
10         a
22         b
25         a

但是它正在返回这个:

customer result
1         a
2         b
3         a

1 个答案:

答案 0 :(得分:5)

这是因为使用cbind将数据转换为matrix对象,R中的矩阵只能包含一种类型的对象/类。因此,您的factor变量customer将被转换,并且只保留因子级别(1,2,3不是行名称,而是因子级别的“编号”)。如果您只想创建一个data.frame,可以使用

data.frame(customers, results)

相反,bc data.frames允许在一个data.frame中组合不同类型的变量。