【问题标题】:convert character to numeric values (with 2 types of numeric values) using r [duplicate]使用 r [重复] 将字符转换为数值(具有 2 种数值)
【发布时间】:2020-10-28 18:07:58
【问题描述】:

我有一个变量应该是数字,但它是一个字符,这个变量有两种类型的数值,当我将它们转换为数字时,一种不会被识别为数字:

num <-c("3,98E+03", "3,98E+03","0.003382932", "5,22E+02", "0.005464587")
as.numeric(num)
NAs introduced by coercion[1]          NA          NA 0.003382932          NA 0.005464587

我不想介绍 NA。 谢谢!

【问题讨论】:

    标签: r numeric


    【解决方案1】:

    readr 包具有有用的函数来解析字符串中的数字,这可能更通用。 string_replace() 也将, 替换为.,类似于@GKi 的回答

    library(stringr)
    library(readr)
    
    parse_number(str_replace(num, ",", "."))
    

    【讨论】:

      【解决方案2】:

      您可以使用sub, 替换为.

      as.numeric(sub(",", ".", num, fixed = TRUE))
      #[1] 3.980000e+03 3.980000e+03 3.382932e-03 5.220000e+02 5.464587e-03
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-08
        • 2017-12-15
        • 2015-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 2016-01-02
        相关资源
        最近更新 更多