【发布时间】:2021-06-27 17:15:59
【问题描述】:
我希望在众多系统生成的表上执行数据质量。其中一项检查是查看字符列中的所有值是否都只是数字。我希望知道此检查为真的数字列。以下表为例,我想确定两列(代码和年龄)是仅包含数值的字符列。
表结构
| Column Name | Data Type |
|---|---|
| name | character |
| type | character |
| code | character |
| member_id | integer |
| collection_date | date |
| age | character |
| height | double |
表格值
| Column Name | Column Values |
|---|---|
| name | only letters |
| type | only letters |
| code | only numbers |
| member_id | only numbers |
| collection_date | only dates |
| age | only numbers |
| height | only numbers |
我在思考执行此操作所需的逻辑时遇到问题。到目前为止我所做的是:
仅选择字符数据类型的列
df %>%
dplyr::select_if(is.character)
验证列中的所有值都是数字(或 null,这很好)
sum(varhandle::check.numeric(df$code)) == nrow(df)
我希望构建一个函数,在所有列中执行此操作,并将检查为真的数字存储到列中(即 dplyr::mutate),但我不确定如何构造它;它是交叉,应用还是其他东西。或者是否有任何现有的功能/包可以执行此任务?任何帮助表示赞赏。
【问题讨论】:
标签: r data-quality