繁体   English   中英

R中清理数据的高效方式

[英]Efficiency way to clean data in R

输入是

在此处输入图像描述

如果我愿意,第 3 行和第 5 行的格式不正确

发售日期 产品型号 商店代码
20210208 华硕_DE552 AAE_08072
20210305 华硕_AC693 AAE_08072
20210107 华硕_DE551 AAR_7461
20210325 华硕_DB341 CMHT_654
20210227 华硕_HG0982 BR_981

如果这个表有 20,000 行,我是否有更有效的方法来检查每一行是否匹配规则?

通过查看发布的数据,我的预感是,三列中的字符串在某些时候是从复合字符串中提取的,例如20210227_ASUS_HG0982_BR_981 ,但在某些地方提取似乎出错了。 如果这个假设是正确的,那么我建议回到原始字符串并修复提取,例如使用extract function :

library(tidyverse)
data.frame(original) %>%
  extract(original,
          into = c("sale_date", "produst_model", "store_code"),
          regex = "(\\d+)_(\\w+\\d+)_(\\w+)")
  sale_date produst_model store_code
1  20210227   ASUS_HG0982     BR_981

数据:

original = "20210227_ASUS_HG0982_BR_981"

显然,这里的正则表达式仅基于单个字符串,并且可能必须在您有更多字符串时立即进行调整。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM