27
TokyoR #57 初初初初初初初初 @kotatyamtema

TokyoR #57 初心者セッション

Embed Size (px)

Citation preview

Page 1: TokyoR #57 初心者セッション

TokyoR #57初心者セッション@kotatyamtema

Page 2: TokyoR #57 初心者セッション

@kotatyamtema大学での専門は行動生態学性的二型と sexual selection対象は魚類:♂の背びれの伸長に 影響を与える要因を探索職歴家電メーカーでユーザビリティ評価心拍や脳波,脳血流を使った身体反応評価筋電図を使った身体負荷評価,歩容(歩く姿勢)評価医療機器メーカーで臨床試験のデータ管理と初期分析投薬データのダミー化と集計,欠損確認,基礎統計量の算出活動量計データの自動集約,レポート生成スクリプトの作成現在DATUM STUDIO 株式会社データアナリストとして生息中

自己紹介

Page 3: TokyoR #57 初心者セッション

データ分析前処理あるある

Page 4: TokyoR #57 初心者セッション

上司 A :" グレー " っぽい色にフラグ立てといて

Page 5: TokyoR #57 初心者セッション
Page 6: TokyoR #57 初心者セッション

どうしよう・・・

Page 7: TokyoR #57 初心者セッション

本日のお題ゆるふわ文字型データの取り扱い入門Encode と便利パッケージと正規表現

Page 8: TokyoR #57 初心者セッション

Encoding とは

Page 9: TokyoR #57 初心者セッション

Encoding とはプログラムが文字を認識するためのルールだいたい遭遇するのは2種Windows : SJIS(cp932)Mac/Linux : UTF-8

Page 10: TokyoR #57 初心者セッション

Encoding とはプログラムが文字を認識するためのルールだいたい遭遇するのは2種Windows : SJIS(cp932)Mac/Linux : UTF-8SJIS で保存されたデータを UTF-8 環境で読み込むと

Page 11: TokyoR #57 初心者セッション

Encoding とはプログラムが文字を認識するためのルールだいたい遭遇するのは2種Windows : SJIS(cp932)Mac/Linux : UTF-8

Encoding の呪い文字化け

Page 12: TokyoR #57 初心者セッション

解消するには「 iconv 関数」iconv(hoge, " 現在の Encoding", " 変換後の Encoding")

Page 13: TokyoR #57 初心者セッション

解消するには「 iconv 関数」iconv(hoge, " 現在の Encoding", " 変換後の Encoding")現在の Encoding を確認するには?

Page 14: TokyoR #57 初心者セッション

解消するには「 iconv 関数」iconv(hoge, " 現在の Encoding", " 変換後の Encoding")現在の Encoding を確認するには?少量抜き出してテキストエディタでEncoding(hoge) で確認できます

Page 15: TokyoR #57 初心者セッション

Rで文字列処理事始めstringi パッケージと base を比較しながら

Page 16: TokyoR #57 初心者セッション

Rで文字列処理おすすめパッケージは「 stringi 」base 処理と比較しながら簡単な処理方法を紹介

Page 17: TokyoR #57 初心者セッション

スクリプト一覧stringi base

特定の文字の有無を判定

stri_detect_regex(判定対象 , hoge)

grep(hoge, 判定対象 )

特定の文字を抽出

stri_extract_all_regex(判定対象 , hoge) -----------

特定の文字を置換

stri_replace_all_regex(判定対象 , 置換前 , 置換

後 )gsub

(置換前 , 置換後 , 判定対象 )

Page 18: TokyoR #57 初心者セッション

スクリプト一覧stringi base

文字の長さを数える

stri_length(判定対象 )

nchar(判定対象 )

文字同士をつなげる

stri_join(kore, hoge)

paste0(kore, hoge)

特定の文字で分割

stri_split_regex(判定対象 , hoge)

strsplit(判定対象 , hoge)

Page 19: TokyoR #57 初心者セッション

機能はもっとたくさんあるので以下のサイトを参照basehttp://www.okadajp.org/RWiki/?Rの文字列処理関数stringihttps://cran.r-project.org/web/packages/stringi/stringi.pdfhttp://qiita.com/kohske/items/85d49da04571e9055c44

Page 20: TokyoR #57 初心者セッション

正規表現事始めより柔軟な文字処理のために

Page 21: TokyoR #57 初心者セッション

正規表現とは柔軟な文字表現が出来る記述方法→いろいろなプログラムで使用できる

Page 22: TokyoR #57 初心者セッション

拡張表現[]で挟んだ文字全てに対して処理される・ stri_detect_regex(text, [a:c]):  text の中に a,b,c のいずれかが含まれているかどうか判定メタ文字は前に "\" をつける・メタ文字は ". \ | ( ) [ { ^ $ * + ? ""^hoge" で hogeから始まる文字を指定"hoge$" で hoge で終わる文字を指定

Page 23: TokyoR #57 初心者セッション

繰り返し表現'hoge{n}': hoge をちょうど n 回繰り返す'hoge{n,}': hoge を n 回以上繰り返す'hoge{n,m}': hoge を n 回以上、最大 m 回繰り返す詳細は以下を参考http://www.okadajp.org/RWiki/?R%20における正規表現

Page 24: TokyoR #57 初心者セッション

stringi と正規表現の組み合わせで自由な文字処理

Page 25: TokyoR #57 初心者セッション

stringi と正規表現の組み合わせで自由な文字処理例 : list の中から csv ファイル名を抽出  list[stri_detect_regex(list, ".csv$")]  stri_subset_regex(list, ".csv$")例 : " あ " で始まって "ん " で終わる 5 文字を抽出  stri_extract_all_regex(text, " あ .{3} ん ")

Page 26: TokyoR #57 初心者セッション

Rで自由な文字処理を!

Page 27: TokyoR #57 初心者セッション

Rで自由な文字処理を!Enjoy!