2

私は文字列ベクトルを持っています:

vec<-c("0","[0.046-0.112)","[0.112-0.141)","[0.141-0.177)","[0.177-0.206)",">=0.206")

この文字ベクトル内の 10 進数をパーセント数に変換したいと思います。私は通常、パッケージstingrを使用して、テキストを .xml で作成しregexます。だから私の考えは次のようなものです:

str_replace_all(vec, "([0-9.]{5})", paste(as.numeric("\\1")*100,"%") )

これは私が期待したいものです:

"0%" "[4.6%-11.2%)" "[11.2%-14.1%)" "[14.1%-17.7%)" "[17.7%-20.6%)" ">20.6%"   

しかし、これは私の出力です

[1] "0"           "[NA %-NA %)" "[NA %-NA %)" "[NA %-NA %)" "[NA %-NA %)"
[6] ">=NA %"     
Warning message:
In paste(round(as.numeric("\\1") * 100, 1), "%") :
  NAs introduced by coercion
4

1 に答える 1

4

あなたが試すことができます

library(gsubfn)
gsubfn('[0-9.]+', ~ paste0(100*as.numeric(x), '%'), vec)
#[1] "0%"            "[4.6%-11.2%)"  "[11.2%-14.1%)" "[14.1%-17.7%)"
#[5] "[17.7%-20.6%)" ">=20.6%"      
于 2015-04-01T08:52:14.883 に答える