2017年8月29日火曜日

R言語:「stringr」パッケージでレビューデータの加工が簡単(その3)

ほんとに小ネタなのですが、原因気づくのに時間がかかったので備忘録がわりに。
過去、何回かに分けて宿泊レビューのテキストマイニングの前処理を色々やっておりました。

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


ソースコードのご紹介


わかったら何のこともない凡ミスだったのですが、ソースコードは以下です。
データの読み込みプロセスなどは以前のエントリーをご参照ください。

# 宿泊者の満足度(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)


以上です。

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

0 件のコメント:

コメントを投稿