• R语言
  • 如何快速发现记录中的错误

拿到一份实验数据,变量有近30个,观测值上万,有什么办法快速发现记录时的错误呢?缺失值可以用相关的函数,unique函数只在性别之类的分类不多时好用,其它类型的记录错误咋快速发现。。。。
特别是其中有个变量是影像学结果,肝、肾、膀胱、前列腺都写在这里,还都是中文,各个医生的写法都不一样。测试了下stringr包,筛选的结果中包含有记录错误的观测值,而且这类错误很隐蔽。。。。。

谢谢~

    首先你得把错误定义出来。写法不一致,可以把各种可能的写法枚举出来,然后映射一个规范的写法,利用正则表达式捕获,替换。

      Sylvanas 我猜是类似医院体检中心整理的科研用的汇总表,以前我们都找俩学生手动找一些比较有价值指标或诊断,但如果您是被找的那俩学生那另说…

        chuxinyuan 啊这。。。开始是想这样的,但是问题容易有遗漏。。。
        最后还是只能用excel整理完数据再用R读取。本来想在R里一起处理,试着配合R Markdown定期生成报告。。。。

        有处理类似的实验室数据,但没有太好的办法,只能人工review,发现了某一类错误再用程序进行批量的处理。上万观测其实还好,一般几轮review下来,能纠正个七七八八了。剩下一些也许有漏掉的但也说明对分析没有太大影响。

        完全程序处理的话,怎么找错误、定义错误的类型,这种检测医学异常值,也许AI可以做到。

          12 天 后

          显然是数据本身都没有整理好

          没有别的好办法,只能人肉重头开始做。

            15 天 后

            chuxinyuan 若是有计算机方面的功底,折算到数据库,应用数据库的范式(那么,字段级-表级-
            联系级-业务规则,甚至还可以根据特定行业加以表达,这样总结出来的错误定义,不只是向前了一大步,并且有规律,可以拆解,同时能让大家训练出来,原来无法“传授“的经验知识,同时能代入公式/函数,快速的加以验证-统计

            Sylvanas 若是可行的话,数据隐私保护好,能提供一种样本(全样本)让大家看了样本,根据不同的经验加以处理,这样能更快的定义出来规律

            hellowolrd 是的,这是远远超出业务规则范畴,即使是人肉来做,也是有一定的“经验规律”,而能把这个定义清爽,加以边界划分,能推动整体有所质的进步