删除 R 中的多余字符后从科学转换为十进制

Convert from scientific to decimal after removing extra characters in R

这应该很简单,我不确定为什么它不起作用。我 运行 在 R 中从科学计数法转换为十进制计数法时遇到问题 - 看起来 E-04 已被删除,因此数字比应有的大很多。我正在使用 read.csv(df, stringasfactors = FALSE) 在 csv 中阅读并且在这个 df$time:

中有小数小时
df$time
4.3138888888888887E-4h
0.833h
4.2583333333333335E-4h

我当前的代码是:

df$time<-gsub('h','',df$time)
df$time<- as.numeric(df$time)

这给了我

df$time
4.3138
0.833
4.2583

有人有什么想法吗?本来可以包含可重现的数据,但无法生成字符向量(仅因子)。

非常感谢任何帮助,我不知道哪里出了问题。

实际上我想通了 - 在代码的前面,我应用了一个 substr(df$time, 10),它反过来不包括一些条目的 E。

删除它,它工作正常。

请大家吸取教训!