首页 > 解决方案 > 创建 NA 的日期

问题描述

为什么这会返回 NA?我想factor用来订购日期以绘制它们。

 factor(today(), levels = today())
[1] <NA>
Levels: 2019-07-01

标签: r

解决方案


“levels”参数需要字符数据。但是,日期数据具有基本的数字表示。所以指定:

factor(today(), levels = today())

为数据创建无效标签。这相当于说您希望因子的水平包含数字 18,708。

为 "levels" 参数显式指定字符数据会产生预期的结果:

factor(today(), levels = as.character(today()))
[1] 2019-07-01
Levels: 2019-07-01

日期数据是数字的,因此具有固有的顺序。但是,如果您想先将这些转换为因子,请务必指定ordered = TRUE参数。


推荐阅读