擅长:python、mysql、java
<p>我们可以将<code>mutate</code><code>across</code>与<code>case_when</code>一起使用:</p>
<pre><code>library(dplyr)
df %>%
dplyr::mutate(across(starts_with("X"), ~case_when(is.na(.) ~ 0,
TRUE ~ 1)))
</code></pre>
<pre><code># A tibble: 7 x 5
G X4646466.555 X564737373.455 X737347474.56 X5
<chr> <dbl> <dbl> <dbl> <dbl>
1 add 1 0 0 0
2 fgr 1 1 1 0
3 dfr 0 0 0 0
4 tth 1 0 0 0
5 dee 1 0 0 0
6 ee 1 0 0 0
7 ff 1 1 0 0
</code></pre>
<p>或</p>
<pre><code>library(tidyverse)
df1 <- df[,-1] %>%
modify(~ ifelse(is.na(.), 0,1))
cbind(df[,1],df1)
</code></pre>