R因子和水平

时间:2017-09-25 21:37:31

标签: r

级别是有意义的,它是向量的唯一值,但我无法理解是什么因素。它似乎重复了矢量值。

factor(c(1,2,3,3,4,5,1))
[1] 1 2 3 3 4 5 1
Levels: 1 2 3 4 5

任何人都可以解释应该做什么因素,或者我为什么要使用它?

我开始怀疑因素是否像数据库中的代码表。因子名称是代码表名称,而级别是代码表的唯一选项。 ?

1 个答案:

答案 0 :(得分:0)

因子存储为哈希表而不是原始字符向量。这意味着什么?有两个主要的好处。

  1. 内存占用空间小得多。考虑一个包含短语" New Jersey"的文本文件。超过100,000次以ASCII编码。现在想象一下,如果你只需要存储数字16(二进制100,000次,然后是另一个表,表示16表示"新泽西"它更精简,速度更快。

  2. 特别是对于可视化和统计分析,我们经常测试所有类别的值和#34; (想想ANOVA或你会用什么颜色叠加的条形图)。我们可以重复编码所有函数以在字符串向量中叠加观察到的选择,或者我们可以简单地创建一种新类型的向量,它将告诉您有效选择是什么。这被称为因子,有效选择称为级别。