In one column of my dataframe I have some empty cells. The data looks like this:
yymmdd lat lon mag depth knmilocatie baglocatie tijd
19861226 52.992 6.548 2.8 1.0 Assen Assen 74751
19871214 52.928 6.552 2.5 1.5 Hooghalen 204951
19891201 52.529 4.971 2.7 1.2 Purmerend Kwadijk 200914
19910215 52.771 6.914 2.2 3.0 Emmen Emmen 21116
19910425 52.952 6.575 2.6 3.0 Geelbroek Ekehaar 102631
19910808 52.965 6.573 2.7 3.0 Eleveld Assen 40114
The desired result is:
yymmdd lat lon mag depth knmilocatie baglocatie tijd
19861226 52.992 6.548 2.8 1.0 Assen Assen 74751
19871214 52.928 6.552 2.5 1.5 Hooghalen Hooghalen 204951
19891201 52.529 4.971 2.7 1.2 Purmerend Kwadijk 200914
19910215 52.771 6.914 2.2 3.0 Emmen Emmen 21116
19910425 52.952 6.575 2.6 3.0 Geelbroek Ekehaar 102631
19910808 52.965 6.573 2.7 3.0 Eleveld Assen 40114
Inspired by this solution, I tried to replace the empty cells with:
df$baglocatie[df$baglocatie == ""] <- df$knmilocatie
However, this did not work as the empty cells were filled with the wrong values. Another possible solution also didn't work.
How do I solve this?
Try ifelse
:
df$baglocatie <- ifelse(df$baglocatie == "", df$knmilocatie, df$baglocatie)
You need to index also the replacing column:
df[ df$baglocatie == "", "baglocatie" ] <- df[ df$baglocatie == "", "knmilocatie" ]
Or you can use a support vector:
empty <- df$baglocatie == ""
df$baglocatie[empty] <- df$knmilocatie[empty]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With