视频: 1 3 人工智能主要方法与应用 2024
如果您使用R中具有数值作为级别的因子,则在模型和其他计算中使用这些因子时必须格外小心。例如,您将内置数据集mtcars中的柱面数转换为如下的系数: >> cyl。因素< - as。因子(mtcars $ cyl)
如果你想知道圆柱体的中位数,你可能会想要做以下事情:
<! - 1 - > >> median(as。numeric(cyl。factor))[1] 2
这个结果是假的,因为最小的圆柱数是4。 R将因子的内部表示转换为数字,而不是标签。所以,你从一个数字开始到数字而不是原来的数值。要正确转换因子的原始数值,可以先将因子转换为字符,然后转换为数字。但是在非常大的数据上,使用以下结构可以更快地完成这项工作:
<! - 2 - > >>为。数字(水平(柱因子))[cyl。因子]
使用此代码,可以创建一个具有数值的级别的短矢量,然后使用该因子的内部整数表示来选择正确的值。
虽然R通常在必要时自动将数值向量转换为因子,但如果使用数字向量和因子,则不会这样做。例如,如果要将汽车的里程数与汽缸数进行建模,则在将汽缸数作为数字向量或因子使用时,会得到不同的模型。这两种模式的解释是完全不同的,很大程度上取决于你想要做什么。但是你必须意识到这一点,否则你可能会解释错误的模型。