Допустим, у меня есть фрейм данных с векторами A:E, где вектор E выглядит так:
ABCDEF50GH
ABCDEF600GH
ABCDEF50GH
ABCDEF1000GH
Часть моего кода выглядит так:
DF <- (filter(DF1, A == "AH") %>%
mutate(B = nchar(E),
C = case_when(D == "X" ~ "0",
B == 10 ~ substr(E, 7, 8),
B == 11 ~ substr(E, 7, 9),
B == 12 ~ substr(E, 7, 10),
TRUE ~ "0")))
Поэтому я пытаюсь извлечь число из строки. Проблема в том, что извлеченное число является символом, а не числом, поэтому мне нужно сделать другие аргументы case_when тоже символами. Поэтому вектор C является вектором символов, и когда я пытаюсь преобразовать его в числовой:
transform(DF, C = as.numeric(levels(C))[C])
Я получаю вектор с NA вместо чисел.
Пожалуйста, помогите
stringr::str_extract(DF1$E, "[0-9]+")
? - person Ronak Shah   schedule 09.10.2018