R语言删除不规范的值(或NA)


 

  在使用R语言处理表格时(xlsx, csv),有时里面含有缺失值,或者不规范的数值,比如下图有许多的问号“?”,为了便于处理数据,这些都应该整行地删掉。

 

  为了删掉那些包含"?"的行,需要先找到那些行,方法如下,通过 which(逻辑表达式) 函数找到对应行标

> data<- read.csv('breast_cancer.csv');
> which(data$x6=="?")
 [1]  24  41 140 146 159 165 236 250 276 293 295 298 316 322 412 618

  然后直接进行切片操作就得到了对应的行,然而我们找到的只是包含"?"的行,为了便于直接调用R语言中删除包含NA行的函数,我们可以选择先把"?"转换为NA

data$x6[which(data$x6=="?")]=NA;

    然后直接调用如下函数

data=na.omit(data);

  就完成了

 

-----------------------------------

ZKe


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM