那么在选择R中的列分解时是否有任何假设?我问这个是因为我有字符列,如果转换为因子,对于诸如randomForest之类的东西会有太多的级别。将它们保存为字符是否有缺点?
答案 0 :(得分:4)
我通常喜欢将变量作为字符而不是大多数项目的因素(例如阅读,清理,操作)。我通常只在分析之前将它们转移到因子。就目前而言,我所知道的明确使用因子变量存储的主要原因是在分析中明确控制基本级别,例如在带有虚拟变量的线性模型中控制左侧类别。
以前(多年前)保持变量作为因素的最大优点是节省内存。因子变量或多或少地存储为整数向量,与字符向量相比,占用的空间要少得多,特别是当存在重复元素时。正如@MichaelChirico在下面向我指出的那样,这种情况已经有一段时间了(在2.8版本左右)。