je la trame de données suivantes:Comment changer le type de la colonne de facteur de nombre scientifique en numérique dans une trame de données en utilisant dplyr
library(tidyverse)
df <- structure(list(rank = structure(c(1L, 10L, 11L, 12L, 13L, 14L,
15L, 16L, 17L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L), .Label = c("1",
"10", "11", "12", "13", "14", "15", "16", "17\n*", "2", "3",
"4", "5", "6", "7", "8", "9"), class = "factor"), p_value = structure(c(2L,
5L, 17L, 16L, 13L, 12L, 11L, 10L, 9L, 8L, 4L, 3L, 14L, 7L, 6L,
1L, 15L), .Label = c("1e-12", "1e-12262", "1e-164", "1e-176",
"1e-2381", "1e-26", "1e-27", "1e-274", "1e-369", "1e-397", "1e-413",
"1e-422", "1e-429", "1e-57", "1e-6", "1e-855", "1e-919"), class = "factor")), row.names = c(NA,
-17L), class = c("tbl_df", "tbl", "data.frame"), .Names = c("rank",
"p_value"))
Le df
ressemble à ceci:
# A tibble: 17 x 2
rank p_value
<fctr> <fctr>
1 1 1e-12262
2 2 1e-2381
3 3 1e-919
4 4 1e-855
5 5 1e-429
6 6 1e-422
7 7 1e-413
8 8 1e-397
9 9 1e-369
10 10 1e-274
11 11 1e-176
12 12 1e-164
13 13 1e-57
14 14 1e-27
15 15 1e-26
16 16 1e-12
17 "17\n*" 1e-6
Ma question est comment convertir p_value
type de colonne de fctr
en numérique afin que je puisse effectuer des opérations mathématiques avec elle.
J'ai essayé avec l'erreur
> df %>% mutate(logp = log(p_value))
Error in mutate_impl(.data, dots) :
Evaluation error: ‘log’ not meaningful for factors.