フォーマットが不十分なドル値の文字ベクトルを取得して、数値に変換しようとしています。値は、先頭と末尾のスペース、コンマ、およびドル記号を使用して、次のベクトルのようにフォーマットされます。
x <- c(" 18,000.50 ", " $1,240.30 ", " $125.00 ")
次の関数を使用して、数字とドット以外のすべての文字を削除しようとしていますが、機能していません。
trim_currency <- function(x) grep("\$([0-9.]*)\,([0-9.]*)", x, values=TRUE)
正規表現コードを取得しました
\$([0-9.]*)\,([0-9.]*)
この正規表現テスターで正常に実行するには http://regex101.com/r/qM2uG0
Rで実行すると、次のエラーが発生します。
Error: '\$' is an unrecognized escape in character string starting "\$"
Rでこれを行う方法についてのアイデアはありますか?
ndooganの応答に感謝します。これにより、この特定の問題が解決されます。ただし、より一般的なものにしたい場合は、次のように尋ねます。
R/regex を使用してベクトルをフィルターに通し、数字とピリオドのみを通過させるにはどうすればよいですか?