2015-01-01から1年間の記事一覧
言語不問:素数の数を数えてください 締め切り:12月31日(木) AM10:00(12/31 10:01AM に予約投稿)与えられた数字よりも小さい数字の中で、素数がいくつあるかを調べるプログラムを作ってください。例えば以下のように数字が与えられます。5105よりも小さ…
締め切りが 12/30 10:00 AM なので,その 1 分後に公開されるように予約登録問題:パスカルの三角形,それぞれの値を「金額(日本円)」だと考えることにします。例えば、「1」は1円、「2」は2円、「10」は10円です。このとき、n段目のそれぞれの値について、お…
おサルが「キャッ...」と何回か鳴きましたとさ
もともとは, 次の方程式のグラフの概形をかけ。 というものだったけど,描いてみたら,片思いハートだったので,両思いにして,さらにたくさん描いてみた。 fxy = function(x, y) x^2+(y-abs(x)^(2/3))^2-1x = seq(-2.5, 2.5, length=1000)y = seq(-2.5, 3.…
平方数の和で表す平方数締め切りが 12月08日(火)AM10:00 なので,解答例をその 1 分後に公開。【問題】全ての自然数は高々四個の平方数の和で表される、という「四平方定理」が知られています。例えば、15という数は9+4+1+1、つまり3^2+2^2+1^2+1^2と表さ…
出題者も悪いし,それを記事に書いた記者も悪い。 9-3÷1/3+1 はいくつかというのだが,最初見たときは,なんで割り算に「÷」と「/」を混在させているんだろうと思った。特に,「÷」なんざぁ,小学校で使ったきり今まで使ったことないぞ。 元の問題には…
安易に考えて,ただし,ベクトル演算で速度を上げても計算時間がそこそこかかる。さらに,解答先のコンピュータが若干遅く,しかも計算時間は 1 秒以下という制限があるので,とても,以下のプログラムでは無理。 g = function(L) { # con = file("stdin", "…
締め切りが 12月02日(水)AM10:00 なので,締め切り 1 分後に予約投稿。図のような7セグメントディスプレイを使ったデジタル時計があります。ある時刻において、点灯している位置の数を調べます。例えば、12:34:56(12時34分56秒)の場合は、以下のように27箇…
フェイスブックやめると満足度アップ > 実験は二手に分けて行い、一方のグループだけFBの利用を禁止。1週間後に「生活にどの程度満足しているか」を10点満点で聞いたところ、利用継続グループは実験後7・75点と大きな変化はなかったが、禁止グループ…
たぶん,前のページを読んだ人は,「なぜ fread を使わないのだ」と,怒りに震えていることだろうwww> library(data.table)> system.time(dat1 <- read.csv("aq")) ユーザ システム 経過 44.938 1.164 45.952 に対して> system.time(dat2 <- fread("aq"))Rea…
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
このようなデータの場合には,折れ線グラフを選ばないと悲惨な結果になる(特に今までのバージョンでは)
使いたいなら使えば...お好きにどうぞ。 それを使ったからといって,スペシャリストのお墨付きが付くわけでもない...結果次第だねえ。 基礎ができていないと,宝の持ち腐れかも... 基礎があれば,そんなモノ使わなくても,立派に生きていける。 ここに書いた…
今更なんだけど,ある変数が取る値ごとのサンプルサイズ > 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+ }> …
複数キー(一部に逆順)のソート > f1 = function() arrange(aq, Ozone, desc(Solar.R))> > # 複数個指定したり,その一部が逆順の場合も,同じように対応する> f2 = function() {+ d = aq[order(aq$Ozone, -aq$Solar.R),]+ rownames(d) = NULL+ d+ }> ident…
逆順ソート > f1 = function() arrange(aq, desc(Ozone))> > # 逆順は decreasing=TRUE> f2 = function() {+ d = aq[order(aq$Ozone, decreasing=TRUE),]+ rownames(d) = NULL+ d+ }> > # または,数値変数なら符号付け替え(desc がやっていること)> f3 = …
単なるソートなんだけど? > 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…
複数のパラメータを持つ分析を記録するという例 > # 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 …
ある分析を何回か繰り返し,その結果を保存しておくという例 > 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, …
ある変数の値別に,別々のファイルにデータを書き出すにはどうするかという例 > 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…
ある変数ごとに,全ての変数中に欠損値が幾つあるかを求めよという例 > 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…
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…
各変数ごとに欠損値が幾つあるかを求めよという例題 > nmissing = function(x) sum(is.na(x))> # colwise は,do.call を使っているし,その本質は lapply だ(関数定義を見よ)> f1 = function() colwise(nmissing)(aq)> (ans = f1()) Ozone Solar.R Wind T…
> # 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…
ある変数が取る値ごとに別の変数の平均値を求める(ただし,変数には欠損値がありますよ)と言う例題 > 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…
ある変数が取る値ごとに,別の変数の平均値と標準偏差を求めるという例題 > 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…