R中是否有任何方法可以将以下文本货币格式转换为数字格式?

R中是否有任何方法可以将以下文本货币格式转换为数字格式?,r,formatting,currency,R,Formatting,Currency,我怎样才能转换- 这个 7公里,10公里,25.5公里 对此 7000元10000元25500元 在R?任何帮助都将不胜感激。 谢谢这行吗: > v <- c('7k','10k','25.5k') > v [1] "7k" "10k" "25.5k" > paste0('$',as.numeric(gsub('k$','',v)) * 1000) [1] "$7000" &quo

我怎样才能转换- 这个

7公里,10公里,25.5公里

对此

7000元10000元25500元

在R?任何帮助都将不胜感激。 谢谢

这行吗:

> v <- c('7k','10k','25.5k')
> v
[1] "7k"    "10k"   "25.5k"
> paste0('$',as.numeric(gsub('k$','',v)) * 1000)
[1] "$7000"  "$10000" "$25500"
> 
>v
[1] “7k”“10k”“25.5k”
>paste0(“$”,作为.numeric(gsub('k$”,'',v))*1000)
[1] "$7000"  "$10000" "$25500"
> 
这是否有效:

> v <- c('7k','10k','25.5k')
> v
[1] "7k"    "10k"   "25.5k"
> paste0('$',as.numeric(gsub('k$','',v)) * 1000)
[1] "$7000"  "$10000" "$25500"
> 
>v
[1] “7k”“10k”“25.5k”
>paste0(“$”,作为.numeric(gsub('k$”,'',v))*1000)
[1] "$7000"  "$10000" "$25500"
> 

我承认这可能不是最整洁的方式,但这是我能想到的最简单的方式。不过,它使用了
scales

这就是我所做的:

library(scales)

kform <- c("7k", "10k", "25.5k")

dol <- dollar(1000*as.numeric(gsub("k", "", kform)))

编辑:我删除了旧的编辑,因为我提到的另一种方式实际上不起作用,因为最后一个数字有小数点。

我承认这可能不是最整洁的方式,但这是我能想到的最简单的方式。不过,它使用了
scales

这就是我所做的:

library(scales)

kform <- c("7k", "10k", "25.5k")

dol <- dollar(1000*as.numeric(gsub("k", "", kform)))

编辑:我删除了旧的编辑,因为我提到的另一种方法实际上不起作用,因为最后一个数字中有小数点。

其他的回答起作用,但是
缩放
为当前金额提供了很好的数字格式

y <- gsub( "[.]", "", "7k")
scales::dollar(  as.numeric( gsub( "k", "000", y) ) )

y其他响应有效,但
scales
为当前金额提供了良好的数字格式

y <- gsub( "[.]", "", "7k")
scales::dollar(  as.numeric( gsub( "k", "000", y) ) )

y如果您有一个连续字符串
text=“7k,10k,25.5k”
您首先需要进行此转换->
v=unlist(strsplit(text,”)
这工作正常,但在数据集中,相同的逻辑不适用。因此,它将显示所有NAs。感谢您的帮助如果您有一个连续字符串
text=“7k,10k,25.5k”
您首先需要进行此转换->
v=unlist(strsplit(text,”)
这工作正常,但在数据集中,相同的逻辑不适用。因此,它将显示所有NAs。感谢您的帮助您的解决方案似乎不适用于
scales::dollar(如.numeric(gsub(“k”、“000”、“25.5k”))
如果我在数据集上使用它,我得到的只是NAs。感谢您的帮助,尽管您的解决方案在
scales::dollar(as.numeric(gsub(“k”、“000”、“25.5k”))的情况下似乎不起作用。
如果我在数据集上使用它,我得到的只是NAs。谢谢你的帮助