過去、何回かに分けて宿泊レビューのテキストマイニングの前処理を色々やっておりました。
R言語:「stringr」パッケージでレビューデータの加工が簡単。
http://sapporomkt.blogspot.jp/2017/08/rstringr.html
R言語:「stringr」パッケージでレビューデータの加工が簡単(その2)
http://sapporomkt.blogspot.jp/2017/08/rstringr2.html
今回、テキストマイニングで集計したデータ(品詞の頻度など)と、性別や年代といった属性データを掛け合わせた分析するため、後者の分布状況などをヒストグラムなどで確認しようと思ったところ凡ミスしたのでご紹介です。
実施環境については、以下の通りです。
・MacBook Air(CPU:1.6GHz,Memory 8GB)
・macOS Sierra ver10.12.3
・RStudio ver 1.0.136
・macOS Sierra ver10.12.3
・RStudio ver 1.0.136
ソースコードのご紹介
わかったら何のこともない凡ミスだったのですが、ソースコードは以下です。
データの読み込みプロセスなどは以前のエントリーをご参照ください。
# 宿泊者の満足度(CS)が入っている「rank」でヒストグラムを・・・できません。
hist(hotel2.dat[,"rank"])
hist.default(hotel2.dat[, "purpose1"]) でエラー:
'x' は数値でなければなりません
# 各変数のクラスをザラーっと調べてみます。
# 「rank」がcharacter型になっていますね。numeric型じゃなきゃ、ダメだこりゃ。
sapply(hotel2.dat,class)
rank user time1 com_sentence purpose1
"character" "character" "character" "character" "character"
purpose2 purpose3 time2 reply_sentence plan1
"character" "character" "character" "character" "character"
plan2 user_name age sex flg
"character" "character" "character" "character" "logical"
# rankをnumeric型に変換して元のデータセットに上書きします。
hotel2.dat$rank <- as.numeric(hotel2.dat$rank)
# 念のためチェックします。「rank」がnumeric型になっていますね。
sapply(hotel2.dat,class)
rank user time1 com_sentence purpose1
"numeric" "character" "character" "character" "character"
purpose2 purpose3 time2 reply_sentence plan1
"character" "character" "character" "character" "character"
plan2 user_name age sex flg
"character" "character" "character" "character" "logical"
# 再度、ヒストグラムにトライです。colには他の色も適用可能です。colors() で色々出てきます。
hist(hotel2.dat[,"rank"], col ="aliceblue")
# せっかくなのでクロス集計もしてみます。
hotel2.crs <- xtabs(~purpose2+sex, data=hotel2.dat)
hotel2.crs
sex
purpose2 女性 男性
1 1
その他 1 1
一人 6 12
家族 58 77
仕事仲間 1 0
友達 8 6
恋人 4 7
# 有用性はアレですが、モザイクプロットでも。
# どうてもいいですが、表頭と表側が入れ替わるんですね。
mosaicplot(hotel2.crs)
hist(hotel2.dat[,"rank"])
hist.default(hotel2.dat[, "purpose1"]) でエラー:
'x' は数値でなければなりません
# 各変数のクラスをザラーっと調べてみます。
# 「rank」がcharacter型になっていますね。numeric型じゃなきゃ、ダメだこりゃ。
sapply(hotel2.dat,class)
rank user time1 com_sentence purpose1
"character" "character" "character" "character" "character"
purpose2 purpose3 time2 reply_sentence plan1
"character" "character" "character" "character" "character"
plan2 user_name age sex flg
"character" "character" "character" "character" "logical"
# rankをnumeric型に変換して元のデータセットに上書きします。
hotel2.dat$rank <- as.numeric(hotel2.dat$rank)
# 念のためチェックします。「rank」がnumeric型になっていますね。
sapply(hotel2.dat,class)
rank user time1 com_sentence purpose1
"numeric" "character" "character" "character" "character"
purpose2 purpose3 time2 reply_sentence plan1
"character" "character" "character" "character" "character"
plan2 user_name age sex flg
"character" "character" "character" "character" "logical"
# 再度、ヒストグラムにトライです。colには他の色も適用可能です。colors() で色々出てきます。
hist(hotel2.dat[,"rank"], col ="aliceblue")
# せっかくなのでクロス集計もしてみます。
hotel2.crs <- xtabs(~purpose2+sex, data=hotel2.dat)
hotel2.crs
sex
purpose2 女性 男性
1 1
その他 1 1
一人 6 12
家族 58 77
仕事仲間 1 0
友達 8 6
恋人 4 7
# 有用性はアレですが、モザイクプロットでも。
# どうてもいいですが、表頭と表側が入れ替わるんですね。
mosaicplot(hotel2.crs)
以上です。
R関連エントリー
R言語:starwarsキャラの身長や年齢をdplyrで加工してggplot2する。http://sapporomkt.blogspot.jp/2017/08/rstarwarsdplyrggplot2.html
RESASの不動産取引データでheatmapを作ってみた。
http://sapporomkt.blogspot.jp/2017/05/resasheatmap.html
RESASデータを「IBM Data Scientist Workbench」でゴニョゴニョしてみた。
http://sapporomkt.blogspot.jp/2017/05/resasibm-data-scientist-workbench.html
ggplot2でクロス集計的に複数グラフをプロットする方法
http://sapporomkt.blogspot.jp/2016/11/ggplot2.html
R開発環境が無料で簡単導入!「Data Scientist Workbench」を使ってみた。
http://sapporomkt.blogspot.jp/2016/10/rdata-scientist-workbench.html
(Bluemix)知ってた?dashDBってTwitter分析にもツカエルのさ(+ちょっとだけコンサドーレ調べ)
http://sapporomkt.blogspot.jp/2016/07/bluemixdashdbtwitter.html
RMeCabで形容詞の形態素解析をやってみた。
http://sapporomkt.blogspot.jp/2016/07/rmecab.html
【R言語】今年は、leafletでマップをグリグリしたい。
http://sapporomkt.blogspot.jp/2016/01/rleaflet.html
(R言語)当ブログアクセス者の興味関心事をコレポン(コレスポンデンス)した。
http://sapporomkt.blogspot.jp/2015/12/r.htm