🔢parse_double() vs parse_number()

type
Post
status
Published
date
Aug 12, 2025
slug
r-parse-double-vs-number
summary
对比 readr 包中 parse_double() 与 parse_number() 的区别,说明严格解析与宽容提取的适用场景与示例。
tags
readr
数据清洗
R
category
📈 R Visionary
icon
password
comment
Show
函数
类型转换
核心用途
是否保留非数字字符
parse_double()
字符 → double
严格解析浮点数(不能含单位/符号)
❌ 不允许
parse_number()
字符 → numeric
提取并解析字符串中的数字部分
✅ 自动剥离前后字符

parse_double():严格解析

  • 仅接受合法的数字格式
  • 适合在 结构化数据列 中做类型转换(如手动读取 CSV 并指定列类型)
  • 相当于 as.double() + locale-aware 处理

parse_number():宽容提取

  • 自动提取字符串中的 数字部分
  • 适合清洗 messy 文本(如网页或报告导出的 CSV)
  • 默认保留 正负号、小数点、科学计数法
Prev
pmin() & pmax():向量按元素逐位比较
Next
geom_tile():构建热图 / 网格图的砖块图层
Loading...
Article List
Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis