- 已编辑
拿到一份实验数据,变量有近30个,观测值上万,有什么办法快速发现记录时的错误呢?缺失值可以用相关的函数,unique函数只在性别之类的分类不多时好用,其它类型的记录错误咋快速发现。。。。
特别是其中有个变量是影像学结果,肝、肾、膀胱、前列腺都写在这里,还都是中文,各个医生的写法都不一样。测试了下stringr包,筛选的结果中包含有记录错误的观测值,而且这类错误很隐蔽。。。。。
谢谢~
拿到一份实验数据,变量有近30个,观测值上万,有什么办法快速发现记录时的错误呢?缺失值可以用相关的函数,unique函数只在性别之类的分类不多时好用,其它类型的记录错误咋快速发现。。。。
特别是其中有个变量是影像学结果,肝、肾、膀胱、前列腺都写在这里,还都是中文,各个医生的写法都不一样。测试了下stringr包,筛选的结果中包含有记录错误的观测值,而且这类错误很隐蔽。。。。。
谢谢~
首先你得把错误定义出来。写法不一致,可以把各种可能的写法枚举出来,然后映射一个规范的写法,利用正则表达式捕获,替换。
chuxinyuan 啊这。。。开始是想这样的,但是问题容易有遗漏。。。
最后还是只能用excel整理完数据再用R读取。本来想在R里一起处理,试着配合R Markdown定期生成报告。。。。
有处理类似的实验室数据,但没有太好的办法,只能人工review,发现了某一类错误再用程序进行批量的处理。上万观测其实还好,一般几轮review下来,能纠正个七七八八了。剩下一些也许有漏掉的但也说明对分析没有太大影响。
完全程序处理的话,怎么找错误、定义错误的类型,这种检测医学异常值,也许AI可以做到。
kk8900
别了吧,最近那个13.8跟13.11哪个大的问题,好多大语言模型纷纷翻车说13.11大,搞了个大新闻挂热搜了。
具体数值清洗的工作还是人工做放心一点
显然是数据本身都没有整理好
没有别的好办法,只能人肉重头开始做。
chuxinyuan 若是有计算机方面的功底,折算到数据库,应用数据库的范式(那么,字段级-表级-
联系级-业务规则,甚至还可以根据特定行业加以表达,这样总结出来的错误定义,不只是向前了一大步,并且有规律,可以拆解,同时能让大家训练出来,原来无法“传授“的经验知识,同时能代入公式/函数,快速的加以验证-统计
Sylvanas 若是可行的话,数据隐私保护好,能提供一种样本(全样本)让大家看了样本,根据不同的经验加以处理,这样能更快的定义出来规律
hellowolrd 是的,这是远远超出业务规则范畴,即使是人肉来做,也是有一定的“经验规律”,而能把这个定义清爽,加以边界划分,能推动整体有所质的进步