算額あれこれ

算額問題をコンピュータで解きます

2015-11-01から1ヶ月間の記事一覧

フェイスブック利用者

フェイスブックやめると満足度アップ > 実験は二手に分けて行い、一方のグループだけFBの利用を禁止。1週間後に「生活にどの程度満足しているか」を10点満点で聞いたところ、利用継続グループは実験後7・75点と大きな変化はなかったが、禁止グループ…

fread はお勧め,それ以外は...

たぶん,前のページを読んだ人は,「なぜ fread を使わないのだ」と,怒りに震えていることだろうwww> library(data.table)> system.time(dat1 <- read.csv("aq")) ユーザ システム 経過 44.938 1.164 45.952 に対して> system.time(dat2 <- fread("aq"))Rea…

ちょっとしたことをやるなら R より AWK

airquality を 100000 倍した CSV データ(15300000行)の Month ごとの Temp の平均値を求める R でやるなら, > system.time({a <-read.csv("aq"); print(by(a[,4], a[,5], mean))})a[, 5]: 5[1] 65.54839-----------------------------------------------…

シンプル・ライフゲーム

【コードゴルフ】シンプル・ライフゲームシンプルなライフゲームです。できるだけ短いコードを書いてください。締切:11月19日(木)AM10:00【ライフゲーム】ライフゲームでは、格子状のフィールドの各マス目(セル)に対して、「生」と「死」の2つの状態を初…

実数解を持つ二次方程式の係数

締切:11月13日(金)AM10:00まで「セカンド・イクエイション」問題ちなみに,二次方程式は an equation of the second degree。短くいえば,quadratic equation。second equation は The second equation is a polynomial equation or a rational equation.…

「ツイン・トライアングル」問題

解けた。しかし,締切が 12月04日(金)AM10:00 なので,解答公開はその後で... 「ツイン・トライアングル」問題数学の問題をプログラミングで解こう!三角形と外接円に関する問題です。2つの自然数 a, b(a ≦ b)に対し、直角をはさむ2辺の長さが a と b で…

折れ線グラフなのに回帰直線が描けるwww

他の統計解析ソフトにはない,画期的で,すごく,すごく,便利な機能www

Excel の散布図と折れ線ブラフ

このようなデータの場合には,折れ線グラフを選ばないと悲惨な結果になる(特に今までのバージョンでは)

plyr 結論

使いたいなら使えば...お好きにどうぞ。 それを使ったからといって,スペシャリストのお墨付きが付くわけでもない...結果次第だねえ。 基礎ができていないと,宝の持ち腐れかも... 基礎があれば,そんなモノ使わなくても,立派に生きていける。 ここに書いた…

plyr なんて...(その14)

今更なんだけど,ある変数が取る値ごとのサンプルサイズ > f1 = function() count(aq, .(Month))> (ans = f1()) Month freq1 5 31002 6 30003 7 31004 8 31005 9 3000> > f2 = function() {+ a = ddply(aq, "Month", nrow)+ colnames(a)[2] = "freq"+ a+ }> …

plyr なんて...(その13)

複数キー(一部に逆順)のソート > f1 = function() arrange(aq, Ozone, desc(Solar.R))> > # 複数個指定したり,その一部が逆順の場合も,同じように対応する> f2 = function() {+ d = aq[order(aq$Ozone, -aq$Solar.R),]+ rownames(d) = NULL+ d+ }> ident…

plyr なんて...(その12)

逆順ソート > f1 = function() arrange(aq, desc(Ozone))> > # 逆順は decreasing=TRUE> f2 = function() {+ d = aq[order(aq$Ozone, decreasing=TRUE),]+ rownames(d) = NULL+ d+ }> > # または,数値変数なら符号付け替え(desc がやっていること)> f3 = …

plyr なんて...(その11)

単なるソートなんだけど? > f1 = function() arrange(aq, Ozone)> a = f1(); head(a); tail(a) Ozone Solar.R Wind Temp Month Day HighTemp1 1 8 9.7 59 5 21 02 1 8 9.7 59 5 21 03 1 8 9.7 59 5 21 04 1 8 9.7 59 5 21 05 1 8 9.7 59 5 21 06 1 8 9.7 59…

plyr なんて...(その10)

複数のパラメータを持つ分析を記録するという例 > # mdply は,基本的には mapply > f1 = function() mdply(data.frame(mean=1:3, sd=1:3), rnorm, n=2)> set.seed(1); (ans = f1()) mean sd V1 V21 1 1 0.3735462 1.18364332 2 2 0.3287428 5.19056163 3 3 …

plyr なんて...(その9)

ある分析を何回か繰り返し,その結果を保存しておくという例 > f = function() {lm(Ozone ~ Temp, aq[sample(nrow(aq), 100, replace=TRUE),])}> f1 = function() rlply(100, f)> set.seed(1); ans1 = f1(); head(ans1, 2)1Call:lm(formula = Ozone ~ Temp, …

plyr なんて...(その8)

ある変数の値別に,別々のファイルにデータを書き出すにはどうするかという例 > f1 = function() d_ply(aq, .(Month), function(x) write.csv(x, paste0("airquality_", x$Month[1], ".csv")))> > f2 = function() invisible(sapply(split(aq, aq$Month), fu…

plyr なんて...(その7)

ある変数ごとに,全ての変数中に欠損値が幾つあるかを求めよという例 > f1 = function() ddply(aq, .(Month), colwise(nmissing))> (ans = f1()) Month Ozone Solar.R Wind Temp Day HighTemp1 5 500 400 0 0 0 02 6 2100 0 0 0 0 03 7 500 0 0 0 0 04 8 500…

plyr なんて...(その5)

2 つ以上の変数の組み合わせごとに,別の変数の平均値を求めるという例題 > aq = read.csv("aq", header=TRUE)> aq = ddply(aq, .(Month), transform, HighTemp=ifelse(Temp-mean(Temp) > 0, 1, 0))> f1 = function() ddply(aq1, .(Month, HighTemp), summar…

plyr なんて...(その6)

各変数ごとに欠損値が幾つあるかを求めよという例題 > nmissing = function(x) sum(is.na(x))> # colwise は,do.call を使っているし,その本質は lapply だ(関数定義を見よ)> f1 = function() colwise(nmissing)(aq)> (ans = f1()) Ozone Solar.R Wind T…

plyr なんて...(その4)

> # ifelse は使わない方がよい(Temp-mean(Temp) > 0 も Temp > mean(Temp) でよい)> f1 = function() ddply(aq, .(Month), transform, HighTemp=ifelse(Temp-mean(Temp) > 0, 1, 0))> ans = f1(); head(ans); tail(ans) Ozone Solar.R Wind Temp Month Da…

plyr なんて...(その3)

ある変数が取る値ごとに別の変数の平均値を求める(ただし,変数には欠損値がありますよ)と言う例題 > f1 = function() ddply(aq, .(Month), summarize, AveOzone=mean(Ozone, na.rm=TRUE))> (ans = f1()) Month AveOzone1 5 23.615382 6 29.444443 7 59.11…

plyr なんて...(その2)

ある変数が取る値ごとに,別の変数の平均値と標準偏差を求めるという例題 > f1 = function() ddply(aq, .(Month), summarize, AveTemp=mean(Temp), SdTemp=sd(Temp))> (ans = f1()) Month AveTemp SdTemp1 5 65.54839 6.7444902 6 79.10000 6.4887623 7 83.9…

plyr なんて...(その1)

plyr がもてはやされるが,いかがなものか。 「plyrパッケージ徹底入門」で紹介された用例について,検証してみよう。http://www.slideshare.net/teramonagi/tokyo-r30-20130420 「データを分割し,分析し,結果を再結合して出力する」とはいうが,結果の出…

時系列データだって言ってもねえ...(3)

最高気温について 2 日目以降に前日との差をとって,それと 2 日目以降の客数について回帰分析してみる。 データは,図のようになる。 両者の相関は 0.8001206 んんっ。前より高いし,ますます特定の相関係数を設定してデータを作ったのかと疑いの目でwww 単…

時系列データだって言ってもねえ...(2)

向後先生のアイスクリームデータhttp://kogolab.chillout.jp/elearn/icecream/chap4/sec1.htmlは,土日を除く平日の 20 日分。気温と客数の相関係数は 0.8703519。 なんか,事前に相関係数=0.987 を指定して,二変数正規乱数を発生させてデータを作ったっぽ…

ブルートフォースで十分

「グー」「チョキ」「パー」の「じゃんけん」により多数決をする。一番多くの人が出した手が勝つ。「一度で」勝つ手が決まるような人数の組み合わせは何通りあるか。例えば、4 人の場合は 12 通り。3 種の人数は以下の 4 通り× 3。4 0 03 0 13 1 02 1 1ブル…

時系列データだって言ってもねえ...

> https://twitter.com/KuboBook/status/660779858327269377/photo/1 「アイスクリームの販売数~気温」といった Y ~ X といった線形回帰・線形相関等が調べられていますが,X と Y が時系列データである場合,これは「見せかけの回帰」(spurious regression)…

run length encoding

以下の文字列を出力するプログラムを書けとbPP00$zzzuuuVVUUUQQ11000vvvWWWVVVRRR22211wwXXXWWWSSS333222xxYYYXXTTT444333yyyZZZYYUUU555444zzzaaZZZVV66555000bbaaaWW7766111cccbbbXXX8887722dddcccYYY999888333eeeddZZZAAA999444ffeeeaaaBBBAAA555ggfffbbC…