2017-11-18 7 views
1

$記号を含む変数であるデータフレームがあります。したがって、列は収入:$ 450、$ 550、$ 650などとなります。私は$と変換係数を数値に取り除きたいと思います。

私は、stackoverflowで見つかったメソッドを使用して解析しようとしましたが、エラーメッセージが返されます。 $特別記号はありますか?

は、ここで私が試したものです:

str_replace(df$Revenue, "$", "") #error message 
as.numeric(gsub("$", "", df$Revenue) #Similar error message 

これらの作品は、「%」のような記号を削除しますが、「$」ではない複製何らかの理由でします。理由は何ですか?

答えて

3

あなたは試みることができる:

myvec <- c("$450", "$550", "$650") 
as.numeric(gsub('\\$', '', myvec)) 
#[1] 450 550 650 

または代替として:

as.numeric(gsub('$', '', myvec, fixed = TRUE)) 
#[1] 450 550 650 

あなたはそれが正規表現で動作させるために$をエスケープする必要があります($が特殊文字であるため)または設定しますfixed = TRUE

+0

驚くばかりです。私は$が特別なキャラクターであることを知らなかった。 Rの特殊文字は何ですか? – D500

+0

R以外の正規表現では特殊文字です。 \ | (){{^ $ * +?}これらは主なものです。あなたのコンソールに '?regex'と入力すればもっと詳しく読むことができます。 – LyzandeR

+0

これは素晴らしい要約であることがわかりました:http://stat545.com/block022_regular-expression.html –

関連する問題