在 R 中格式化 CSV 中的价格列

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

我有一个 csv 文件,其中在 R 中导出为列表后的价格,措辞如下:$115.00 USD,所以我无法使用

进行转换
as.numeric(sub('\\$','',as.character(Data))) 

因为由于“USD”部分,它返回 N/As。

r
1个回答
0
投票

最简单的方法是删除所有非数字或句点的内容:

> gsub("[^0-9.]", "", "$115.00 USD")
[1] "115.00"

如果要确保输入中有连续的字符串,可以使用捕获:

> sub("[^0-9.]*([0-9.]*).*", "\\1", "$115.00 USD")
[1] "115.00"
© www.soinside.com 2019 - 2024. All rights reserved.