У меня есть следующий тиббл:
library(tidyverse)
dat <- structure(list(V1 = c("Number of input reads", "Uniquely mapped reads number",
"Uniquely mapped reads %", "Average mapped length"), V2 = c("26265603",
"13330431", "50.75%", "47.37")), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -4L))
Это выглядит так:
V1 V2
<chr> <chr>
1 Number of input reads 26265603
2 Uniquely mapped reads number 13330431
3 Uniquely mapped reads % 50.75%
4 Average mapped length 47.37
Я хочу преобразовать столбец V2
в числовой. Ожидаемый конечный результат таков:
V1 V2
<chr> <dbl>
1 Number of input reads 26265603
2 Uniquely mapped reads number 13330431
3 Uniquely mapped reads % 0.5075
4 Average mapped length 47.37
Я пробовал это
dat %>%
mutate(V2 = case_when(V1 == "Uniquely mapped reads %" ~ as.numeric(sub("%","",V2))/100,
TRUE ~ as.numeric(V2)))
, но он предупреждает меня:
Warning message:
In eval_tidy(pair$rhs, env = default_env) : NAs introduced by coercion
Какой правильный способ сделать это