I'm having a problem where I want to mutate two variables with values 0, 1 and NA into a new variable with the sum of 0 and 1, however, R in my case counts NA as 0 or return only NA. Are there an easy fix to this, to exclude the NA? These variables are a part of a large dataset. And in this dataset I have some survey experiments, these two var being part of it, which means I have NA in every single row. So a simple drop of NA is a not a practical approach.
The two var I want to sum are:
table(df$naked_fj, useNA = "ifany")
#> 0 1 <NA>
#> 127 81 570
table(df$naked_naked, useNA = "ifany")
#> 0 1 <NA>
#> 117 82 579
The result should be:
#> 0 1 <NA>
#> 244 163 x(or excluded)
I am open to converting to char. etc. whatever works.
Data example:
| naked_fj | naked_naked |
|---|---|
| NA | 1 |
| 0 | NA |
| 1 | NA |
| 0 | NA |
| NA | 0 |
| NA | NA |
| NA | NA |
Codes I have tried:
library(tidyverse)
df <- df |>
mutate((naked_man = naked_fj + naked_naked), na.rm = TRUE)
Returns all OBS as NA
I thought this would fix it
library(tidyverse)
df <- df |> rowwise() |> mutate(naked_man = sum(c(naked_fj, naked_naked), na.rm = TRUE))
And it gave me: 0 = 615, 1 = 163. Ergo NA is being counted as zero.
Alternatively, you may check the below code where I used 'rowSums' with
acrossCreated on 2023-01-21 with reprex v2.0.2