# Problems about dealing with missing values, maybe connected to DataFrames.jl

**URL:** https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282
**Category:** Data
**Tags:** question
**Created:** [December 4, 2018, 2:34pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282 "2018-12-04T14:34:33Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Jaime](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jaime/32/8542_2.png) [@Jaime](https://discourse.julialang.org/u/Jaime)
#### Post date: [December 4, 2018, 2:34pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282/1 "2018-12-04T14:34:33Z")

</div>

```julia
julia> a=DataFrame([1 2 3; 4 missing 6])
2×3 DataFrame
│ Row │ x1 │ x2 │ x3 │
│ │ Int64⍰ │ Int64⍰ │ Int64⍰ │
├─────┼────────┼─────────┼────────┤
│ 1 │ 1 │ 2 │ 3 │
│ 2 │ 4 │ missing │ 6 │

julia> dropmissing!(a)
1×3 DataFrame
│ Row │ x1 │ x2 │ x3 │
│ │ Int64⍰ │ Int64⍰ │ Int64⍰ │
├─────┼────────┼────────┼────────┤
│ 1 │ 1 │ 2 │ 3 │

julia> a
1×3 DataFrame
│ Row │ x1 │ x2 │ x3 │
│ │ Int64⍰ │ Int64⍰ │ Int64⍰ │
├─────┼────────┼────────┼────────┤
│ 1 │ 1 │ 2 │ 3 │

julia> a[:2]
1-element Array{Union{Missing, Int64},1}:
 2

```

it still shows Union{Missing,…} after dropmissing!()

so I can’t put it into most other functions, they cause errors because they aren’t considered to take such array types including missing values.

i wonder how i can solve this problem, the function copy() doesn’t seem to be the answer…

---

<div class="post-metadata">

### Author: ![kdyrhage](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kdyrhage/32/2326_2.png) [@kdyrhage](https://discourse.julialang.org/u/kdyrhage)
#### Post date: [December 4, 2018, 2:42pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282/2 "2018-12-04T14:42:09Z")

</div>

```julia
julia> Int.(a[2])
1-element Array{Int64,1}:
 2

```

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [December 4, 2018, 2:54pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282/3 "2018-12-04T14:54:19Z")

</div>

DataFrame([Array{Int}(a[i]) for i=1:size(a,2)])

---

<div class="post-metadata">

### Author: ![bkamins](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bkamins/32/208538_2.png) [@bkamins](https://discourse.julialang.org/u/bkamins)
#### Post date: [December 4, 2018, 4:11pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282/4 "2018-12-04T16:11:10Z")

</div>

> [@Jaime](#):
>
> a=DataFrame([1 2 3; 4 missing 6])

You can do what you want with `a` above with `disallowmissing!` function:

```julia
julia> a |> dropmissing! |> disallowmissing!
1×3 DataFrame
│ Row │ x1 │ x2 │ x3 │
│ │ Int64 │ Int64 │ Int64 │
├─────┼───────┼───────┼───────┤
│ 1 │ 1 │ 2 │ 3 │

```

---

<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: [December 4, 2018, 5:32pm UTC](https://discourse.julialang.org/t/problems-about-dealing-with-missing-values-maybe-connected-to-dataframes-jl/18282/5 "2018-12-04T17:32:54Z")

</div>

See:  
[https://github.com/JuliaData/DataFrames.jl/issues/1441](https://github.com/JuliaData/DataFrames.jl/issues/1441)
