2019-12-01から1ヶ月間の記事一覧
まとめ一覧 リレーションとXXX_join関数 リレーションをイメージで把握する 基本的に、「表で保存されている」データは、「リレーショナルデータベース」に保存されています。 データ分析を行うにあたって、必要な考え方のみイメージでお伝えします left_joi…
まとめ一覧 データの方向の転換 gatherとspreadの解説を行います。 ただし、tidyrのV1.1以降では、pivot_longer, pivot_widerという新しい関数が導入されています 考え方はほぼ一緒ですが、pivot_XXX系の関数の方ができることが増えているので、これから学ば…
まとめ一覧 separateで列をうめる 練習問題を再度みてみましよう。 任意の文字列で列を分割するseparate関数を利用してみましょう。 dft <- tibble( target3 = c( "ope:A 4.5hr 80ml", "ope:B 3hr 10ml", "ope:C 12.5hr 100ml" ) ) dft separate(data, col, …
まとめ一覧 fillで列をうめる これまでは、mutate filter arrange等の列や行を操作する関数は、dplyrパッケージ、 strではじまる正規表現を利用できる関数は、stringrパッケージの解説を行ってきました 残りはfill separate gather spreadはtidyrパッケージ…
まとめ一覧 列内での条件分岐 if_else dfif <- tibble(num =c(1:10)) dfif <- dfif %>% mutate(bool = num>5) if_elseはBooleanを判断して、TRUEとFALSEで処理をわける関数です。 if_else(FALSE, "trueです", "falseです") if_else(c(TRUE,TRUE,FALSE), "tru…
まとめ一覧 練習課題 次のデータについて、 dft <- tibble( target1 = c("abc500ml 3unit" ,"def250ml 4unit","ghi100ml 5unit" ), target2 = c("AST 50IU" ,"HbA1c 5.0%" ,"BMI 23.1kg/m^2" ), target3 = c("ope:A 4.5hr 80ml","ope:B 3hr 10ml","ope:C 12.…
まとめ一覧 filterで行の絞り込み filterの説明です。 test <- tibble(umare = c(1990, 1992, 1997, 1991), height = c(180.0, 176.2, 165.5, 172.3), weight = c(70.2, 80.3,65.3,61.1)) test test$umare > 1995 このBooleanをfilterはtibbleの列に適応して…
まとめ一覧 str_exrtactとmutate str_extract ここまでは、booleanで正規表現を返す、str_detect()で話を進めてきました。 行操作には、str_detectで引っかけるという作業が必要ですが、例えば、 prac <- tibble(target = vec) View(prac) というデータがあ…
まとめ一覧 正規表現 さあ、filterへ!といきたいところでえすが、もう一山、Booleanが「しるし」になることを理解したあと、文字列に「しるし」をつける方法を学びましょう。 正規表現というものですが、これは、多分、このコースでもかなりとっつきにくい…
まとめ一覧 Logical/Boolean型 これまでの型: 数字:1, 2, 3, 10.4, 100 … 文字列: “Rは楽しい”, “Hi there!”… Logical/Boolean: TRUE か FALSEの二通りのみをとれる型 TRUE/FALSEで真偽の「判定」を行うのに活用 単独での動作 TRUE FALSE TRUE + TRUE TRUE…
まとめ一覧 arrange:行の並び替え arrangeは、行方向でのソート(並び替え)を行う関数 test #このtibbleを、身長順に並び替えるには? test %>% arrange(height) #昇順 test %>% arrange(desc(height)) #降順 desc = descending(下降する) <=> ascending(上昇…
まとめ一覧 列の操作 mutate:列の作成 library(tidyverse) test <- tibble(umare = c(1990, 1992, 1997, 1991), height = c(180.0, 176.2, 165.5, 172.3), weight = c(70.2, 80.3,65.3,61.1)) test mutateは、新しい列をつくる関数です。 mutate(.data = <tibble>, <</tibble>…
まとめ一覧 パイプ(%>%) Ctrl + Shift + M で入力可能。 library(tidyverse) diamonds$carat summary(diamonds$carat) # 上の行と下の行は同じ処理 diamonds$carat %>% summary() パイプを利用すると何が嬉しいかというと、 add(multiply(subtract(divide(3,…
まとめ一覧 messyデータをtidyデータに変換するイメージ このデータを frommessy こんな感じになるようにします。 (詳細なステップは、動画で確認ください) 今後、解説する関数は次のような形です まとめ一覧
まとめ一覧 データクリーニングの全体像 全体像 dc全体像> tidy vs messyデータ tidy = 整頓、整理された messy = やっかいな tidyデータとは 1列が1変数に対応している 1行が1観察に対応している (1観察単位が1つの表を形作る) Wickham H (2014). “Tidy D…
まとめ一覧 補足:themeでX軸のラベルを回転させる themeでの個別設定が必要になる場合について解説します table <- data.frame( item_name = c("究極のマスクメロンアイスクリーム", "イチゴたっぷりショートケーキイタリア風", "和栗の贅沢ブラックモンブ…
まとめ一覧 補足:集計済みデータの描画~statオプション~ 集計済みのデータを表示したい: library(ggplot2) table <- data.frame( age_group = c("~20","21~40","41~60","61~80","81~100","100~"), yearly_admission = c(39,42,73,88,93,132) ) ggplot(tab…
まとめ一覧 Theme 設定 単純にグラフにtheme_XXX()を足すだけで、お手軽にテーマ設定ができます。 text_label_of_clarity <- c("含まれる", "わずかにSI2","わずかにSI1", "ほんのわずかにVS2","ほんのわずかにVS1", "ごくごくわずかにVVS2","ごくごくわずか…
まとめ一覧 凡例操作 library(tidyverse) graph <- ggplot(diamonds) + geom_histogram(aes(x = price, fill = clarity)) graph まず、凡例をけしてみる guide = FALSE graph + scale_fill_discrete(guide = FALSE) タイトルをいじる graph graph + scale_fi…
まとめ一覧 ggplot(diamonds) + geom_histogram(aes(x = price, fill = color)) タイトル:「ダイアモンドの値段分布」 X軸:「値段(ドル)」 Y軸:「件数」とつけてみましょう。 ggplot(diamonds) + geom_histogram(aes(price, fill=color)) + labs(title = …
まとめ一覧 演習問題で作ったグラフを塗り分けて、より「意味を感じられる」グラフを作ってみましょう。 library(ggplot2) Q1: ダイヤモンドの重さと値段の関係を、散布図で描画してください。 ggplot(data = diamonds) + geom_point(mapping = aes(x = cara…
まとめ一覧 ggplotとは 「グラフの文法」を使って、データを簡単にキレイに可視化するためのツールです ggplotの書き方テンプレート 基本的な構成は、次の表のような指定をして、そのスクリプトを+でつないでいきます。 この表は、このような棒グラフを作成…
まとめ一覧 ggplotで基本的なグラフを描画する! library(ggplot2) #これで、 diamonds economics msleep #等のデータセットが利用できるようになっていると思うので、これらを利用します。 diamonds:50000個のダイヤモンドのデータ price -> 値段(ドル) ca…
まとめ一覧 因子型とは 男/女のようにいわゆる、カテゴリカル変数と呼ばれるものをRで現すときに使われる型です。 as.factor(文字列型のベクトル)で作れます。 レベル(数字)とそれに対応したラベル(文字)で表現されています factor_table <- data.frame( sei…
まとめ一覧 パースとは parseとは、プログラミング言語であつかえる形にデータを変換するという意味がある英単語です。 parse_number(c("a",1,2,3)) parse_character(c("a","b","c",1,2,3)) #ベクトルは基本的には同じ型である必要がありました c(1,2,3,"a")…
まとめ一覧 デリミター デリミターは列の分割を何らかの記号を利用して表現するものです。 よく用いられるデリミターは , カンマ ; セミコロン /t(tab) タブ 等があります。 read_delim関数での読み込み方法 read_delimは設定するべき項目が多いですが、基本…
まとめ一覧 インポートの概要 インポートを実施するためには どこにあるファイルが パス(Path) ディレクトリ(Directory) どういう形で保存されているか 区切り文字(Delimiter) を意識する必要があります。 パスとディレクトリ 同じ名前のファイルを同じフ…
まとめ一覧 関数の利用 今回、使う関数は、sum(), summary(), unique()です。 sum は足すという意味の英単語です。 summary はサマリーです。集計したり集約したりする関数です。 unique は、ベクトルのなかから「ユニーク」なものを取り出します まずは、デ…
まとめ一覧 パッケージとは すでに、誰かが作ってくれた便利なツール 遠くに移動するために、車を1から開発はしないですね。 同様に、Rには、機能を拡張する便利なツールがたくさんあります。 それが、パッケージです 本コースで多用するパッケージは、 tid…
まとめ一覧 データフレームのイメージ pic ベクトルだと、1列、1列に名前をつけてました データフレームだと、「表」に名前をつけることができます 管理が楽ちん! データフレームを作成する #データフレームをつくりましょう data.frame(c(1,2,3,4),c("Aさ…