- R语言:迈向大数据之路
- 洪锦魁
- 249字
- 2021-03-19 17:50:05
6-5 数值型因子在转换时常见的错误
假设有一个数值型的因子记录着摄氏温度天气,如下所示。

如果现在用str()函数了解此temperature因子,可以得到下列结果。

可以得到levels有4个值,分别是“28”“30”“32”“34”,分别对应1, 2, 3, 4。所以对于“28”“32”“30”“34”“32”“34”可以传回“1, 3, 2, 4, 3, 4”。
现在如果将temperature因子转成字符串向量,将可以得到下列结果。

这是预期的结果,但是如果将此temperature因子转成数值向量,将可以得到下列结果。

很明显这不是我们想要的结果。碰到这类问题时,可使用下列方式解决。

也就是将as.character(temperature)的返回值,当作as.numeric()函数的参数。