【发布时间】:2018-12-22 16:08:11
【问题描述】:
我有向量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')
【问题讨论】: