ラベル R の投稿を表示しています。 すべての投稿を表示
ラベル R の投稿を表示しています。 すべての投稿を表示

2018年9月29日土曜日

IntStreamを降順ソートする方法

java言語で整数列をソートする場合、 IntStream用いたソートを思い浮かべるが IntStream#sorted()は昇順ソートしかできず、標準APIからは降順ソートができない。
調べてみると、Stream<Integer>に変換してComparatorを用いて逆順ソートする類が多い模様。
なので、IntStreamのまま降順ソートする方法をメモ書きしておく。

2018年8月4日土曜日

財布に入っていたレシートがベンフォードの法則に従っているのか

財布にレシートをためる癖があり、久しぶりに整理しようと、財布を見てみたら結構溜まってた。
普通に捨てるのも面白みがないので、財布に入ってるレシートの金額がベンフォードの法則に従っているのか調べてみた。

 ベンフォードの法則とは
Wikipediaを見るのが早いが、簡単に言うと
「自然界の数値の最初の桁の分布は、ある特定の分布になっている」という法則
具体的には、数値$x$の最上桁目の数字$n$が出現する確率$p$は
\[ p = \log_{10} (n+1) - \log_{10}(n) = \log_{10}\left(1 + \frac{1}{n}\right) \] つまり、出現確率は以下のようになり、最上桁目の数値は「1」が出やすい。って法則
$n$123456789
確率$p$30.1%17.6%12.5%9.7%7.9%6.7%5.8%5.1%4.6%

2017年6月25日日曜日

R言語で逆行列を求める

R言語には逆行列を解く関数がある

連立方程式のときも使ったsolve関数を使うと、逆行列を求めることができる
例えば \[ \begin{equation} A= \begin{pmatrix} 2 &4 \\ 1 &3 \end{pmatrix} \Longrightarrow A^{-1}= \begin{pmatrix} 1.5 &-2 \\ -0.5 &1 \end{pmatrix} \end{equation} \]
> # 行列を生成
> A <- matrix(c(2, 1, 4, 3),2,2)
> A # 確認
     [,1] [,2]
[1,]    2    4
[2,]    1    3
>
> #逆行列を求める組み込み関数
> solve(A)
     [,1] [,2]
[1,]  1.5   -2
[2,] -0.5    1

すげー楽

2017年5月20日土曜日

R言語で連立方程式を解く

R言語には連立方程式を解く関数があった

最近R言語にはまってる。
行列を行列として扱える言語のため、逆行列を求める組み込み関数とかあり
逆行列から連立方程式を求めるプログラムが簡単に作れるやん!
って思ってたら、連立方程式を求める組み込み関数が存在してた。
以下の連立方程式で使用方法紹介 \[ \left\{ \begin{array} _2x_1 + 4x_2 = 10 & \\ x_1 + 3x_2 = 6 & \end{array} \right. \tag{1} \]
> # 係数行列を生成
> A <- matrix(c(2, 1, 4, 3),2,2)
> A # 確認
     [,1] [,2]
[1,]    2    4
[2,]    1    3
>
> # 右辺の行列を生成
> b <- matrix(c(10, 6), 2, 1)
> b # 確認
     [,1]
[1,]   10
[2,]    6
>
> #連立方程式を解く組み込み関数
> solve(A,b)
     [,1]
[1,]    3
[2,]    1

超楽で速い!!

2016年6月5日日曜日

ラズパイにR言語の環境を構築する

ちょっとR言語を使った統計に興味があったので構築してみた
なぜラズパイなのか。。たまたま手元にラズパイがあったから

 R言語とは
データ分析に特化してるプログラミング言語。統計解析ができて、解析結果をグラフで表示することができる優れもの!
プログラミング言語っていうけど、対話式で、データの保存もイメージを保存する感じになってて
ほかの言語とはちょっと違う印象