【问题标题】:Extract right part of a character string in R using STRSPLIT and multiply it by 100 [duplicate]使用STRSPLIT提取R中字符串的右侧部分并将其乘以100 [重复]
【发布时间】:2020-05-14 01:11:15
【问题描述】:

我期待提取字符串的数字。不幸的是,我得到了它的左边部分。

Data:
> T3_C2_Z2_Stata_S
     [,1]                  
[1,] "Min.   :-0.0031685  "

R-代码:

T3_C2_Z2_Stata_S<-as.numeric(unlist(strsplit(T3_C2_Z2_Stata_S,split=':',fixed=TRUE))[1])*100

它不起作用,因为带有unllist 的内部函数返回以下内容:

> T3_C2_Z2_Stata_S
[1] "Min.   "

我想要的输出是:

> T3_C2_Z2_Stata_S
     [,1]                  
[1,] -0.31685

有谁知道如何获得这个?谢谢。

【问题讨论】:

    标签: r regex string strsplit


    【解决方案1】:

    您可以尝试stringr 包中的str_extract

    x <- "Min.   :-0.0031685  "
    as.numeric(str_extract(x, "-?\\d+\\.?\\d*")) *100
    [1] -0.31685
    

    或者,使用str_split,您必须将[1] 替换为[2]

    as.numeric(unlist(strsplit(x, split = ':', fixed = TRUE))[2])*100
    [1] -0.31685
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 2019-01-19
      • 2012-03-28
      • 2020-02-08
      • 2020-11-08
      • 2023-02-20
      相关资源
      最近更新 更多