将字符串向量转换为 和 k 值转换为数字

问题描述 投票:0回答:1

我有一个以下向量。其中,我们有

\n
和带有数字数据的
k
k
代表 1000

v <- c("2.2K\n", "3\n", "1K\n", "1", "45", "5\n")

> v
> [1] "2.2K\n" "3\n"    "1K\n"   "1"      "45"     "5\n"

我需要将上面的向量转换为数值向量,如下所示。

> v
 [1] "2200" "3"    "1000" "1"    "45"   "5"

有人可以帮助我吗?

当我使用以下命令时,我解决了

\n
,但无法解决
K

> as.numeric(v)
[1] NA  3 NA  1 45  5
r string split type-conversion
1个回答
0
投票

您可以使用

scan
+
gsub

> as.numeric(scan(text = gsub("K", "e3", v), what = "", quiet = TRUE))
[1] 2200    3 1000    1   45    5
© www.soinside.com 2019 - 2024. All rights reserved.