繁体   English   中英

何时或为何将数值变量转换为因子?

[英]When or why convert a numeric variable to factor?

我在 R 方面很新,有点自学。 我有一个包含 43 个变量的数据集,我想预测其中一个主题。 有些是数值变量,有些是因子变量。

问题是我不知道什么时候应该将因子转换为数字,反之亦然。 我在互联网上发现,如果变量总是采用整数值且范围很窄,则不应将变量保留为数字。 (例如,如果值始终介于 1 和 7 之间)。

我的一个变量是“NSM”,它代表每天午夜以来的秒数。 该值是整数和离散值(61200 61800 62400 63600 64200 65400 66000 66600 68400 69000 69600 70800 72000 72600 73200 等),您可以观察到 63200 等步骤。 它们从 0 到 85800。

所以我想得到比我更有经验的人的意见(我有 0)。 我应该保留 NSP numerci 还是将其转换为因子,然后按级别对因子值进行分组(否则我将有 144 个级别,这会太多且不相关)

谢谢,

如果以下一项或多项成立,我通常只将变量转换为因子:

  • 变量的值代表某种形式的分组,即变量本质上是分类的。
  • 可以节省大量内存 - 这通常是使用字符变量来标识组级别的情况。
  • 变量本质上是数字,但高度非线性,没有比将其转换为具有选择的一两个有意义的切点的因子更好的方法来将其输入模型。

然而,操作因子变量可能比字符或整数更复杂,所以我倾向于将因子保存到最后,除非内存压力迫使我不得不动手。

我也像您一样一直在自学,根据我对这个主题的理解,当我们的名义/分类值有限时最好使用因子,尤其是在性别(“男”、“女”)等字符向量的情况下。 这使我们避免了涉及区分大小写或拼写错误等字符的比较错误。

此外,内部因子和整数的工作方式相同,如果分类整数值有限,则建议使用因子以通过级别获得更有意义的数据。 在您的情况下,我的意见是使用整数而不是因子,因为即使需要,也有太多级别无法附加任何有意义的信息。

最后,您应该是决定是否应该在代码中使用因子的最佳判断者,因为您知道将在程序中的确切位置再次使用它们,因为某些算法明确要求因子而不是字符向量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM