R计算两列数据的相关系数_R语言数据处理实践:计算缺失值占比及数据分布

本文介绍了使用R语言进行数据检查的过程,包括使用data.table和naniar包检查800多万行数据的缺失值(NA)和非NA值分布。通过apply函数和naniar包的统计功能,发现数据已被预处理,部分NA被标记为"Null"或空字符串。文章强调了在数据处理中要注意潜在问题,并推荐了naniar包用于更高效地检查缺失值。
摘要由CSDN通过智能技术生成

本次记录一个数据检查工作,基于data.table及tidyverse等R包读取及检查数据,同时测试缺失值分析包naniar的功能。

本次拿到的数据集:

>raw<-fread('filename.csv', fill = T) 
>str(raw)
Classes ‘data.table’ and 'data.frame':	8616000 obs. of  33 variables:
 $ V2 : chr  "5255071054237657617" "5255071054237657617" "5255071054237657617" "5255071054237657617" ...
 $ V1 : chr  "RUN_4" "RUN_5" "RUN_6" "RUN_7" ...
 $ V3 : num  121 121 121 121 121 ...
...

800多万行数据,用data.table轻松读取。由于是未知数据,fill参数设置为T,默认是F。

本次目标有两个,1. 检查数据的NA值;2. 检查非NA值的数据分布。

首先用最基础的办法检查缺失值,先拿一列数据测试一下:

> test<-raw[,c('V1')] %>% is.na() %>% table() %>% data.table() 
> test<-test[,field:='V1'] %>% 
+   setnames(c('logic','cnt','field')) %>% setcolorder(c('field','logic','cnt')) %>%
+   dcast(field~logic, value.var = 'cnt')
> test
   field   FALSE
1:    V1 8616000

Nice,没有空值。现在用apply遍历数据集中的每一列,将结果合并成一个表。此外,套一个system.time看看要多久。有条件的同学可以使用parApply来加速,但这会我们服务器在run其他项目,只能用单线程了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值