在R中,恢复已转换为因子()因子的字符串

时间:2015-06-08 17:30:09

标签: r categorical-data

我将数据集中的一些列转换为因子级别以进行分析。如何查看现在存在于矩阵中的因子水平的定义?原来的名字丢失了吗?我在dtafactor上使用了以下命令,这是一个矩阵对象。

dtafactor[,4:9]=factor(dtafactor[,4:9])

1 个答案:

答案 0 :(得分:1)

假设您确实有一个矩阵,那么信息就会丢失。原因是矩阵不能保持变量的混合,并且不能保持因子变量。因此,作为因子基础的整数(连同水平属性)被强制转换为适合其余列的类型(并且级别丢失),可能是字符。

mat <- matrix(letters[1:4], 2)
mat[,2] <- factor(mat[,2])
#    [,1] [,2]
#[1,] "a"  "1" 
#[2,] "b"  "2"

到目前为止,您必须重新运行脚本。您可能应该使用data.frame而不是矩阵作为数据结构。