←
PDF 157 / 520 Numbers
→
English · PDF 157
Original PDF page 157
中文 · PDF 157
  • parse_factor() 用于创建因子(factor),这是 R 用来表示具有固定且已知取值的分类变量的数据结构。
  • parse_datetime()、parse_date() 和 parse_time() 允许你解析各种日期和时间格式。这些是最复杂的解析器,因为日期的写法实在太多了。

以下几节将更详细地介绍这些解析器。

数字

解析数字看起来应该很简单,但有三个问题使其变得棘手:

  • 世界各地的人书写数字的方式不同。例如,有些国家在小数的整数部分和小数部分之间使用 .,而另一些国家则使用 ,。
  • 数字周围常常有提供上下文的其他字符,比如 "$1000" 或 "10%"。
  • 数字中常常包含“分组”字符以便于阅读,比如 "1,000,000",而这些分组字符在世界各地各不相同。

为了解决第一个问题,readr 引入了“区域设置(locale)”的概念,这是一个指定因地区而异的解析选项的对象。在解析数字时,最重要的选项是用于小数点的字符。你可以通过创建一个新的 locale 并设置 decimal_mark 参数来覆盖默认值 .:

parse_double("1.23") #> [1] 1.23 parse_double("1,23", locale = locale(decimal_mark = ",")) #> [1] 1.23

readr 的默认区域设置是以美国为中心的,因为通常 R 也是以美国为中心的(也就是说,R 基础包的文档是用美式英语编写的)。另一种方法是尝试从你的操作系统猜测默认值。这很难做好,而且更重要的是,它会使你的代码变得脆弱:即使它能在你的电脑上运行,当你把它通过电子邮件发给另一个国家的同事时,也可能会失败。