处理因子变量时,矩阵到data.frame会损坏?[R]

处理因子变量时,矩阵到data.frame会损坏?[R],r,dataframe,R,Dataframe,嗨,我正在将一些矩阵转换为data.frame,当处理因子变量时,它会损坏: > class(combn(as.factor(1:50), 2)) [1] "matrix" # works as.data.frame( t(combn(as.factor(1:50), 2)) ) # not work when shortened: > as.data.frame( t(combn(as.factor(1:50)[1:2], 2)) ) t(combn(as.factor(

嗨,我正在将一些矩阵转换为data.frame,当处理因子变量时,它会损坏:

> class(combn(as.factor(1:50), 2))
[1] "matrix"

# works
as.data.frame( t(combn(as.factor(1:50), 2)) )


# not work when shortened:
> as.data.frame( t(combn(as.factor(1:50)[1:2], 2)) )
  t(combn(as.factor(1:50)[1:2], 2)).1 t(combn(as.factor(1:50)[1:2], 2)).2
1                                   1                                   2
2                                <NA>                                <NA>
Warning message:
In format.data.frame(x, digits = digits, na.encode = FALSE) :
  corrupt data frame: columns will be truncated or padded with NAs

# convert to numeric and works
> as.data.frame( t(combn(as.numeric(as.factor(1:50)[1:2]), 2)) )
  V1 V2
1  1  2
>类别(组合系数(1:50),2))
[1] “矩阵”
#工作
as.数据帧(t(combn(as.factor(1:50),2)))
#缩短时不工作:
>as.数据帧(t(combn(as.factor(1:50)[1:2],2)))
t(组合系数(1:50)[1:2],2]).1 t(组合系数(1:50)[1:2],2]).2
1                                   1                                   2
2.
警告信息:
格式为.data.frame(x,digits=digits,na.encode=FALSE):
损坏的数据帧:列将被截断或用NAs填充
#转换为数字并工作
>同数据帧(t(同数值(同系数(1:50)[1:2]),2)))
V1 V2
1  1  2

谁能告诉我为什么以及如何修复它(转换为数字修复它)?谢谢…

在您的矩阵中,列是“因子”类。这是允许的,对吗?矩阵支持任何单个类在这种情况下,它只是“因子”类。但是,为什么数字列需要
factor
类呢。此外,如果需要的话,最好在以后将第一个选项转换为factor!因为在实际问题中,我处理的是一些
因子
变量。当然,我可以将其转换为
数值
,并在需要时转换回数值。你说的第一个选项是什么意思?也许是
v1