美文网首页
寻找空的列

寻找空的列

作者: 东方不赞 | 来源:发表于2020-04-09 15:15 被阅读0次

    今天学到了一个小技巧,对于data.frame格式的数据,有些列是没有一个数据的,也就是整列都是NA值。
    处理的思路是:使用apply函数对每一列进行处理,函数是自定义的函数。

    自定义函数

    • 函数的功能是对传递过来的参数(向量),判断是否整列为空,是则返回0,否则返回1
    • 判断是否整列为空: is.na()对向量遍历,table()统计,names()取得table的名字
    • 若想取得table的数字,可以用as.numberic(table(x))
    library(dplyr)
    myfun=function(vector){
      tt=vector %>% is.na() %>% table() %>% names()
      ifelse((length(tt)==1 & tt=="TRUE"),return(0),return(1))
    }
    

    调用函数,将返回值存入count

    • 现在count存储着列名、列的信息(0或1)
    count=apply(laml.data, 2, myfun)
    

    删除空列

    • 由which得到count的索引
    laml.data=laml.data[,which(count==1)]
    

    其他

    • 去除存在NA值的行
    na.omit(x)
    

    相关文章

      网友评论

          本文标题:寻找空的列

          本文链接:https://www.haomeiwen.com/subject/inscmhtx.html