R中是否有任何方法可以将以下文本货币格式转换为数字格式?
我怎样才能转换- 这个 7公里,10公里,25.5公里 对此 7000元10000元25500元 在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
> 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。谢谢你的帮助