cbind返回因子向量的索引

use*_*563 1 r

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

results2 <- cbind(customer, result)
Run Code Online (Sandbox Code Playgroud)

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

它应该归还

customer result
10         a
22         b
25         a
Run Code Online (Sandbox Code Playgroud)

但相反它返回这个:

customer result
1         a
2         b
3         a
Run Code Online (Sandbox Code Playgroud)

tal*_*lat 5

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

data.frame(customers, results)
Run Code Online (Sandbox Code Playgroud)

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