R: Remove multiple empty columns of character variables

后端 未结 9 1239
轮回少年
轮回少年 2020-12-08 11:06

I have a data frame where all the variables are of character type. Many of the columns are completely empty, i.e. only the variable headers are there, but no values. Is ther

9条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-08 11:54

    If your empty columns are really empty character columns, something like the following should work. It will need to be modified if your "empty" character columns include, say, spaces.

    Sample data:

    mydf <- data.frame(
      A = c("a", "b"),
      B = c("y", ""),
      C = c("", ""),
      D = c("", ""),
      E = c("", "z")
    )
    mydf
    #   A B C D E
    # 1 a y      
    # 2 b       z
    

    Identifying and removing the "empty" columns.

    mydf[!sapply(mydf, function(x) all(x == ""))]
    #   A B E
    # 1 a y  
    # 2 b   z
    

    Alternatively, as recommended by @Roland:

    > mydf[, colSums(mydf != "") != 0]
      A B E
    1 a y  
    2 b   z
    

提交回复
热议问题