我正在尝试使用以下代码连接2个向量,一个因子向量和一个字符向量:
results2 <- cbind(customer, result)
问题是向量客户正在与行号连接,而不是客户因子的实际值。
它应该返回
customer result
10 a
22 b
25 a
但是它正在返回这个:
customer result
1 a
2 b
3 a
答案 0 :(得分:5)
这是因为使用cbind
将数据转换为matrix
对象,R中的矩阵只能包含一种类型的对象/类。因此,您的factor
变量customer
将被转换,并且只保留因子级别(1,2,3不是行名称,而是因子级别的“编号”)。如果您只想创建一个data.frame,可以使用
data.frame(customers, results)
相反,bc data.frames允许在一个data.frame中组合不同类型的变量。