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

posted @ 2020-05-15 08:11  倦鸟已归时  阅读(5005)  评论(0编辑  收藏  举报