У меня есть вектор vec
, который я хочу преобразовать в числовой тип.Поэтому мне нужно сначала избавиться от нецифровых цифр (включая «+»).Проблема: Когда я исключаю их, также удаляются символы «+» и «-» из символов «E +» и «E-».
Как я могу удалить все нецифровые символы, кроме «E-», 'E +' и '.'от vec
?
vec = c('1234', '+ 42', '1E+4', 'NR 12', '4.5E+04', '8.6E-02')
Мои подходы:
gsub('[^0-9E.]', '', vec) # removes '-' and '+' in 'E-' and 'E+'
gsub('[^0-9(E\\+).]', '', vec) # includes the '+' from '+ 42'
Мой желаемый результат:
c('1234', '42', '1E+4', '12', '4.5E+04', '8.6E-02')