# DataFrames: removing columns with many missing values

**URL:** <https://discourse.julialang.org/t/dataframes-removing-columns-with-many-missing-values/29907>\
**Category:** Data\
**Tags:** first-steps, dataframes\
**Created:** [October 14, 2019, 3:28pm UTC](https://discourse.julialang.org/t/dataframes-removing-columns-with-many-missing-values/29907 "2019-10-14T15:28:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnbb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnbb/32/34233_2.png) [@johnbb](https://discourse.julialang.org/u/johnbb)\
**Post date:** [October 14, 2019, 3:28pm UTC](https://discourse.julialang.org/t/dataframes-removing-columns-with-many-missing-values/29907/1 "2019-10-14T15:28:54Z")

</div>

How can I remove columns with more than 10% missing data from a DataFrame? In R it would be `x[, colMeans(is.na(x)) < 0.1]`. Thanks!

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [October 14, 2019, 3:33pm UTC](https://discourse.julialang.org/t/dataframes-removing-columns-with-many-missing-values/29907/2 "2019-10-14T15:33:22Z")

</div>

You can find the names of columns that satisfy this with, e.g.

```julia
filter(c -> count(ismissing, df[:,c])/size(df,1) > 0.1, names(df))

```

---

<div class="post-metadata">

**Author:** ![nalimilan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nalimilan/32/147_2.png) [@nalimilan](https://discourse.julialang.org/u/nalimilan)\
**Post date:** [October 14, 2019, 7:33pm UTC](https://discourse.julialang.org/t/dataframes-removing-columns-with-many-missing-values/29907/3 "2019-10-14T19:33:08Z")

</div>

The direct equivalent of the R syntax would be `x[:, mean.(ismissing, eachcol(x)) .< 0.1]`.

```julia

```
