R: RStudio 1.4のVisual Markdownの使用法

全体を書き直しています。 I.Visual Markdownとは? January 18, 2021に、RStudio 1.4がリリースされました。新たなVisual Markdownの使い方を紹介します。Visual Markdownで次のことができます。 ワープロのように文書を作成。 RやPythonなどのスクリプトを実行。 HTMLやPDFやMS Word形式にエクスポート。 RPubsを使用してインターネットに公開。 日本語が使われている場合のPDF書き出しには設定が必要です。 次は、Visual Markdownで書き、RPubsで公開したものです。Rで集計しグラフを作成していますが…

Continue reading

R: Using tidyverse 4, ggplot

グラフを描くためのライブラリggplot2を紹介します。 The R Graph Gallery I.シンプルなヒストグラム 1.データの取得 語彙試験のデータを取得します。横長のデータです。 横長のデータをtidyverseのgather()を用いて縦長に変換します。下のgather()の意味は、name列を残して、他の列のデータの列名をtestに、数値データをscoreに配置するということです。 2.ヒストグラムの作成 ggplot2を使用せずともベースで簡単にヒストグラムを作成することができます。 式の意味は、goi_wideのgoi1の列のヒストグラムを作成するということです。 上のよ…

Continue reading

R: Using tidyverse 3, purrr

書き直しています。 同じことをなんども繰り返す(iteration)場合、Rではforやapply()ファイミリーで繰り返しを表現できますが、purrrを使うと簡潔なコードになります。purrrはfunctional programmingのためのライブラリです。 簡単な例を示します。データは6回の語彙試験の得点を示したtibbleです。 列の名を書きましたが、map_dblを用いると、列名を指定しなくても、数値列を選び出して、平均を算出できます。 さらに、round()で少数3桁でロールするのも、mapを使えば簡単です。 試験の列ごとの平均を算出しました。このtidyversの解説をはじから…

Continue reading

R: Using tidyverse 2, tidyr

全体を書き直しています。 I.From wide to long 次は、あるクラスの15回の出席のデータです。ふつう、表計算では次のように行を足して出席率を計算すると思います。 しかし、上の形では列ごとの集計ができなくなります。一般に、列を集計して、その集計結果の列を加えるのがよい形です。 たてよこを変換して一番最後の列に平均を算出するのも一つの考えですが、Rでは、ふつう、学生を行として列を授業回数と出欠にまとめます。Tidyverseはこのようなたて長データの集計やグラフ化に対応した統合ライブラリです。   II.スクリプト > df_long <- df |> …

Continue reading

R: Using tidyverse 1, tibble, dplyr

内容を簡略にしています。全体を書き直す予定です。 I.データをtibbleで読み込む Tibbleはdata frameの一種ですが、data frameより扱いやすい形式です。 df = read_csv(‘https://pastebin.com/raw/cSZ8pYWh’)  次のように各列のデータのタイプが示されています。db1は数値、chrは文字です。 # A tibble: 6 x 7 id english japanese nationality department year gender <dbl> <dbl> <dbl> &lt…

Continue reading

R: Converting data from wide to long, pivot_longer ver. 4

以前書いたものを書き直しています。 ここで紹介するpivot_longerとpivot_widerは、gatherとspreadより便利です。次を参考にしました。 pivot_longer: Pivot data from wide to long Sample 1 11人の学生の語彙試験6回の試験結果の表です。よこ長データをたて長にします。 スクリプトは次です。goi1:goi6でたて長にする列を指定しますが、-nameとして、name列を除外しても同じ結果になります。 # import a library library(tidyverse) # sample 1 df1 <- re…

Continue reading

MachineLearning: 機械学習の始め方3/3 ver. 3

機械学習の始め方1/3 機械学習の始め方2/3 機械学習の始め方3/3 I.KNNによる機械学習   前回に引き続き次の解説を学びます。   Machine Learning in R for beginners   II.KNN   用いるモデルは散布図上の「距離の近さ」で分類するKNNです。 トレーニングで得た判定ルールを残りの1/3のデータに適応して、適切に判定されているかを確認し、正しく判定している割合を算出します。 間違いが多いなら、さらに多くのデータでトレーニングしたり、散布図上の近隣3個の花の種類で判定していたのを近隣5個に増やすことが考え…

Continue reading

MachineLearning: 機械学習の始め方2/3, r ver. 5

機械学習の始め方1/3 機械学習の始め方2/3 機械学習の始め方3/3 I.KNNによる機械学習   次の解説にしたがって、KNN(k-nearest neighbors)を学びます。   Machine Learning in R for beginners   II.データ   サンプル・データirisを用います。ガクの長さと幅と花びらの長さと幅、それぞれの種別(Versicolor,  Setosa, Virginica)のデータです。 次のRunをクリックしてください。データが表示されます。       I…

Continue reading

R: 暗号解読_voynich manuscript ver. 6

文を整えました。 I.有名なの暗号文書?をRで分析   Voynich manuscriptは、未知の言語?で15世紀に書かれたと言われています。多くの植物が描かれていますがほとんど架空のもの?です。人物や多様な図形も描かれています。 練習に、Sketchbook+Inkskapeでその図形に似せて描きました。Sketchbookは幾何学的パターンを簡単に作成できます。Inkscapeは文字を曲線の上に配置できます。円の中の文字はRの分析に使ったテキストです。     次の解説ににしたがってRで分析します。   解説1:Illuminating the …

Continue reading

R: Twitter botsかどうかを判定, tweetbotornot2

I.何をする?   Rのライブラリtweetbotornot2を用いて、Twitter botかそうでないかを判定します。 followersがbotsかbotsでないかを判定します。   Identifying “Dirty” Twitter Bots with R and Python   https://github.com/mkearney/tweetbotornot   II.試行   Iの2番目にあるスクリーンネームのbotである確率を算出します。 リンク上側はボットで、”AOC”以下はボットではないとわかっ…

Continue reading