R
PythonでFizzBuzz PythonのFizzBuzzワンライナーってどんなだったかなと思ってちょっと調べた。 for i in range(100):print(i%3//2*"Fizz"+i%5//4*"Buzz"or-~i) 最後の-~って何だと思ったら~はビット反転だった。2の補数、はるか昔に基本情報でやった記憶が…
ハマるの2回目なのでメモっておく。 PostgreSQLで“test”という名前のデータベースが存在していて、そこに接続している状態を想定する。 con <- odbc::dbConnect(odbc::odbc(), "test") PostgreSQLのcharacter varying(varchar)は、長さ指定なしで使うと文…
やったのでメモっておく。 「第4章 主成分分析」より。 主成分と主成分得点を求める Step0. データ入力 library(tibble) ramen <- tribble( ~店舗, ~麺, ~具, ~スープ, "二郎", 2, 4, 5, "夢田屋", 1, 5, 1, "地回", 5, 3, 4, "なのはな", 2, 2, 3, "花ぶし"…
気がするのでちょっと見て欲しい。 まず、rvestを使ってFAMICから農薬登録情報のcsvをダウンロードして保存する。URLがちょいちょい変わるのでxpathとかで抽出したほうが良い。 library(rvest) library(dplyr) url <- "http://www.acis.famic.go.jp/ddata/in…
Problem 26 - Project Euler d < 1000について、1/dの順環節が最長となるdを求めよ。 以下解答
Problem 25 - Project Euler フィボナッチ数が1000桁に達するのは何項目か。 以下解答。
Problem 24 - Project Euler 順列とは要素の並び替えのことである。たとえば3124は数字1, 2, 3, 4の並び替えで得られる順列の一つだ。全ての順列をアルファベット順またはABC順に並び替えたとして、それを辞書順と呼ぶことにする。0, 1, 2の順列を辞書順に並…
自分自身を除く約数の和が自分自身に等しい自然数は完全数と呼ばれる(e.g. 6 = 1 + 2 + 3)が、そうでないものについて、不足数、過剰数という概念がある。 不足数: 自分自身を除く約数の和が自分自身より小さい自然数 過剰数: 自分自身を除く約数の和が自分…
(引き続きハンバーガー統計学にようこそ!の第3章をRでやってみたものです。) 3.1 チキンの売上は少ないのか このようなタイプのデータを「とりあえずプロットする」方法として、モザイクプロットというものがある。 sales <- matrix(c(435, 265, 165, 135),…
(引き続きハンバーガー統計学にようこそ!の第2章をRでやってみたものです。) 2.1 平均的ポテトを推定する 前回も説明したとおり、標準のvar()、sd()でそれぞれ不偏分散、標本標準偏差が計算される。 wakupote <- c(47, 51, 49, 50, 49, 46, 51, 48, 52, 49)…
(ハンバーガー統計学にようこそ!をRでやってみたものです。) 1.1 ポテトの長さの平均は # ワクワクバーガーのポテトの長さデータ waku <- c(3.5, 4.2, 4.9, 4.6, 2.8, 5.6, 4.2, 4.9, 4.4, 3.7, 3.8, 4.0, 5.2, 3.9, 5.6, 5.3, 5.0, 4.7, 4.0, 3.1, 5.8, 3.…
不偏分散はなぜnではなくn-1で割るのか、という問題。 以前似たようなことやったけどきちんと証明していなかったのと今ならどう書くか試してみたかったので。 証明をする 確率変数の実現値を、平均をとする。 まず、の期待値を求めよう。 任意の数を足して引…
問題の概要 Problem 21 - PukiWiki d(n)をnの「真の約数」の和とする。 「真の約数」はnの約数のうちnを除外したものと定義する。 d(a) == b かつ d(a) == bであるようなaとbをAmicable numbers(友愛数)と呼ぶ。 完全数(すなわちa == b)は除外する。 10000以…
技術的に難しい部分とか特に無いのでこちらで。 プランクの法則 Wikipediaで確認しよう。ちなみに英語版のほうが詳しいぞ。 プランクの法則 - Wikipedia あまりきちんと説明するとボロがでるのでいい加減に説明すると、暖かいものほど強い光を出して、暖かい…
有機質資材からの窒素放出 ほ場に有機質資材、例えば牛ふん堆肥であったり稲わらであったりというものを施用した場合、これらに含まれている窒素というのは必ずしもすぐには使いやすい形にならない。有機質資材中の窒素は基本的には微生物の分解を受けること…
Problem 11: Largest product in a grid 問題自体は難しくないし計算時間もかからない。文字列の読み込みと添字操作の練習。 Problem 12: Highly divisible triangular number gmpを使って無理矢理やっても2〜3秒だが、overviewにより効率的な方法が書いてあ…
ゴンペルツ曲線では相対成長速度と重量の関係はどうなってるのかと思って適当に回帰してみたらが良く当てはまったので、この仮定(相対成長速度は重量の対数に比例して減少する)のもとに微分方程式を解いてみると、ちゃんとゴンペルツ関数が出て来る。ここで…
植物の重量に上限があったとして、相対成長速度が上限と今の重量の差に比例するとしてみよう。 これは適当な定数をもってきて書き換えると、要するに相対成長速度が重量の一次式で表現できるということになる。 これを相対成長速度の定義に代入する。 そして…
前回はRGRを重量の対数の変化速度として求めたが、そもそもRGRの定義はであったので、複数のデータポイントがあれば何らかの方法で平滑化して微分すれば、より精度良くRGRが推定できるだろう。例えば前後2点を含めた3点をラグランジュ補間して得た二次関数を…
植物の重量について、瞬間的な成長速度は植物の重量に比例すると仮定する。このときを相対成長速度(RGR: Relative Growth Rate)と呼ぶ。もしが変化しないのであれば、植物は指数関数的に増大を続けてしまい、地球は程なくして滅ぶだろう。しかし、植物は無限…
久しぶりにProject Eulerをやってみようと思ったが、せっかくなので進捗をリセットして最初からにした。 とりあえず10問やってみたが大分脳がヤバくなってる感あったのでちゃんと継続してボケ防止に努めたい。 解答コードはgithubで管理することにして、ここ…
前回。 rion778.hatenablog.com これをrstanarmでやってみた。 準備 install.packages("rstanarm") 割と時間かかった。 library(rstan) library(rstanarm) rstan_options(auto_write = TRUE) options(mc.cores = parallel::detectCores()) # データダウンロ…
geom_barというかstat_countの方だと思うけど、例えばこんなデータがあったとして data <- c(1, 2, 2, 3, 3, 3, NA, NA, NA, NA) 普通に棒グラフを描くとこうだ。 ggplot() + geom_bar(aes(data)) ところがfactorにするとこうだ。 ggplot() + geom_bar(aes(f…
基本的にはRStan Getting Started (Japanese) · stan-dev/rstan Wiki · GitHubに従っていけた。 環境 Windows 10 Pro R: 3.3.1 RStudio: 0.99.903 Rtoolsのインストール Building R for WindowsよりRtools34.exeをダウンロード。 セットアップ中、"Edit the …
決定木 データ全体を説明変数を用いて段階的にグループ分けする手法。 決定木を書く テキストではmvpartパッケージを使用しているが、現在は公開が停止されているので代わりにpartykitパッケージを使用する。 rpart()の代わりに使う関数はctree()であるが、…
はてなから1年前のブログとかいうメールが来てこんな記事を書いていたのを思い出した。 rion778.hatenablog.com 再び少し調べたところ、これはinvestrというパッケージで実行できるらしい。 データとモデルオブジェクトの作成 データは前回と同じものを使う…
対数線形モデル 対数線形モデルにおいては、分割表における各セルの期待度数を予測する。すなわち、複数のカテゴリカル変数の中から特定の目的変数を設定するのでなく、全ての変数について相互の関係を調べることを目的としている。 lonlin()とloglm() 対数…
ポアソン分布 適合度検定はvcdパッケージのgoodfit()関数で行う。 > t <- 0:5 > x <- c(8, 6, 8, 3, 4, 1) > x <- matrix(c(x, t), nr = 6) > library(vcd) > result <- goodfit(x, type = "poisson", method = "MinChisq") > result Observed and fitted va…
ロジット変換 比率pを変換した値と説明変数xの間に線形関係を仮定する一般化線形モデルにおいて、比率pに対する変換として有名なものにロジット変換とプロビット変換がある。いずれもp→0でf(p)→-∞、p→1でf(p)→∞となるような変換であるが、ロジット変換の方が…
オッズとオッズ比 2つの割合とに対して、オッズの比を考えると、このオッズ比が1より大なら、1より小ならである。 オッズ比は、ロジスティック回帰において回帰係数がオッズ比の対数に一致することや、患者対照研究のようにオッズ比のみが推定できる研究方法…