我将数据集中的一些列转换为因子级别以进行分析。如何查看现在存在于矩阵中的因子水平的定义?原来的名字丢失了吗?我在dtafactor上使用了以下命令,这是一个矩阵对象。
dtafactor[,4:9]=factor(dtafactor[,4:9])
答案 0 :(得分:1)
假设您确实有一个矩阵,那么信息就会丢失。原因是矩阵不能保持变量的混合,并且不能保持因子变量。因此,作为因子基础的整数(连同水平属性)被强制转换为适合其余列的类型(并且级别丢失),可能是字符。
mat <- matrix(letters[1:4], 2)
mat[,2] <- factor(mat[,2])
# [,1] [,2]
#[1,] "a" "1"
#[2,] "b" "2"
到目前为止,您必须重新运行脚本。您可能应该使用data.frame
而不是矩阵作为数据结构。