R logo

データ整理の続き。

とある csv データを取り込み……

Data1 - read.csv("Dataset.csv")

「str()」で確認すると、

数値になっていてほしいところが、文字列で認識されている。

数字が文字列で認識

これはなんでかというと、

例えば Revenue や Expenses の行は、3桁毎に「,」で区切られているが、R はこれを「数値」だとは認識せず、「文字列」として認識している。

また、Revenue や Growth の行は、「$」「%」という文字が入っているので、「文字列」として認識されている。

 

これらをちゃんと数値として認識させるために、「gsub()」を使う。

「gsub()」とは

gsub は、正規表現のパターンにマッチした文字列を全て置き換える命令文。

gsub の使い方は ▼

gsub("置換前の文字","置換後の文字",データ)

gsub で「,」を消す

「,」を消したいので、

置換前は「","」、置換後は「""」とすればOK。

Data1$Revenue - gsub(",","",Data1$Revenue)

同様の方法で Expenses の「,」も消す。

Data1$Expenses - gsub(",","",Data1$Expenses)

さらに同様の方法で、Expenses の「Dollars」も消す。

置換前は「"Dollars"」、置換後は「""」とすればOK。

Data1$Exprnses -gsub("Dollars","",Data1$Expenses)

gsub で「$」を消す

Revenue の「$」も消さないといけないけど、この文字はR関数でも使われているので、「文字」だと認識させる必要がある。

文字として認識させる方法は、直前に「\\」をおく。

置換前は「"\\$"」、置換後は「""」とすればOK。

Data1$Revenue - gsub("\\$","",Data1$Revenue)

同様の方法で Growth の「%」も消す。

Data1$Growth - gsub("\\%","",Data1$Growth)

str を確認

以上の作業後にもう一度「str()」で確認すると、

Gsub5

「,」「Dollars」「$」「%」が消えている。

この段階では要素は「Chr:文字列」になっているが、これを「num:数値」に変換する。

Data1$Growth - as.numeric(Data1$Growth)
Data1$Revenue - as.numeric(Data1$Revenue)
Data1$Expenses - as.numeric(Data1$Expenses)

数値への変換については下記参照 ▼

もう一度「str()」で確認すると、

Gsub6

無事数値に変換できた。

にほんブログ村 科学ブログ 脳科学へ
にほんブログ村 子育てブログ ワーキングマザー育児へ