2011年11月21日月曜日

じゃんけんをする。

最近更新していませんでした。

勉強はそこそこしていた?ようです。
とりあえずRubyでじゃんけんプログラムを作れるようになったので忘備録


puts("points to win ?")
points = gets()
points_to_win = Integer(points)


PAPER = 1
SCISORS = 2
STONE = 3


com_win = 0
plr_win = 0
while com_win < points_to_win && plr_win < points_to_win
  puts("paper=1, scisors=2, stone=3 ?")
  choice = gets()
  player = Integer(choice)
  computer = rand(3) + 1
  puts(" computer: #{computer}")
  if player == computer
    puts(" even")
  elsif
    player == PAPER && computer == STONE ||
     player == SCISORS && computer == PAPER ||
     player == STONE && computer == SCISORS
    puts(" win")
    plr_win += 1
  else
    puts(" lose")
    com_win += 1
  end
  puts("plr_win: #{plr_win}, com_win: #{com_win}")
end


if plr_win >= 3
  puts("You win !")
else
  puts("You lose !")
end

じゃんけんができるスクリプトです。
順番的には、何勝したら勝ちになるかを設定した後に、じゃんけんをします。

順次説明をしていくと

最初の


puts("points to win ?")
points = gets()
points_to_win = Integer(points)

では
putsでpoints to win ? を表示     #putsは("")の中を表示させる関数
getsで入力させた数をpointと置いて     #gets関数で読み込んだ値をpoint変数に設定
そのpointをpoints_to_win     #point変数を引数としてInteger関数に読み込ませ、その値(戻り値)をpoints_to_win変数に設定。

=begin
puts("<設問文>")
<a> = gets()
<b> = Integer(<a>)
のテンプレはよく使う。
ちなみに
<a>…入力された数の適当な名前
<b>…入力された数<a>を後で使いたい時に用いる適当な名前
というイメージ
=end

ちなみに

  puts("paper=1, scisors=2, stone=3 ?")
  choice = gets()
  player = Integer(choice)

の部分も同じ。

じゃんけんの出したい手を1,2,3に置き換えてもらい。考えて出したい手を入力させます。


PAPER = 1

SCISORS = 2
STONE = 3

は、下のじゃんけんをさせるメインの部分で使います。
処理がわかりやすいように1,2,3に置き換えたじゃんけんの手を言葉で処理させる。


  if player == computer

    puts(" even")
  elsif
    player == PAPER && computer == STONE ||
     player == SCISORS && computer == PAPER ||
     player == STONE && computer == SCISORS
    puts(" win")
    plr_win += 1
  else
    puts(" lose")
    com_win += 1
  end


これは、
もし、あいこだったら  if player == computer
引き分けと表示    puts(" even")
んで、もしもあいこじゃなくて、  elsif
 あなたがパーで、コンピューターがグー または   player == PAPER && computer == STONE ||
 あなたがチョキで、コンピューターがパー または     player == SCISORS && computer == PAPER ||
 あなたがグーで、コンピューターがチョキ     player == STONE && computer == SCISORS
だったとしたら、
勝ちと表示    puts(" win")
あなたの勝ち数に1を足します。    plr_win += 1
どの条件でもないなら  else
負けって表示    puts(" lose")

コンピュータの勝ち数に1を足します。    com_win += 1

って意味。

んで、これを

while com_win < points_to_win && plr_win < points_to_win
の部分が繰り返している。(while 条件文が満たされる限り、以下を続ける)

以上。だいたいざっくりと。



2011年10月3日月曜日

R de repo!

【R】

 #データの読み込み。
x<-read.table("data.txt", header=T)
 #or
x<-matrix(c(1,3,5,7,2,4,6,8), ncol=4, byrow=T)


 #χ2検定(カイ二乗検定)
chisq.test(x)


 #知識

x<-read.table()
()内のデータを読み込みますよー!
毎回読みこんでいたらめんどくさいので、以降それをxとします! って事

header=T
headerがある場合にのみ。
無い場合(数値のみの場合)は不要。
>headerって?
表を作った時に上左端に書く、数字の説明をしているあの部分。

c(1,3,5,7,2,4,6,8), ncol=4

1 3 5 7
2 4 6 8
の行列を表す。
ncol= <列の数>


χ2検定

確率的に計算できる値(:理論値)と、実際に測った値(:観測値)のズレを計算
そのずれが
http://okwave.jp/qa/q937856.html
に詳しい。


【エクセル】
固定値にしたい場合はセル番号の前に$
セル番号を使って計算をして、セルの右下をドラックするとその後の計算が楽。
でも、位置を動かしたくない値を指定したい時に使う。


参考
χ二乗検定について
wiki
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%82%A4%E4%BA%8C%E4%B9%97%E6%A4%9C%E5%AE%9A
実践
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/66.html





以上!
今、レポートは分析分散で詰まってる。。。

分散分析
http://www.obihiro.ac.jp/~masuday/resources/stat/r_anova1way.html
http://mjin.doshisha.ac.jp/R/12.pdf


2011年10月2日日曜日

一日坊主

全然更新してねぇ―!

ということで、Rについて。
下を読んでおけば良いんではないんでしょうか?(丸投げ)
http://www.atmarkit.co.jp/fcoding/articles/stat/01/stat01a.html


ちなみに今、
「Rubyで作る奇妙なプログラミング言語」
という本を読んでいます。

うーん。
Rubyに固執せずに頑張るか!


また統計処理ソフトRの勉強のために
「統計学を拓いた異才たち」(モチベーション↑用)
「新統計学入門」(何故浮いたのか分からない位に勉強しなかった授業の本を引っぱりだしてみた)
も読んでいます。

何故Rの話をしているのかというと
今Rを使ってレポート作り中だから!
χ2 (カイ二乗) 検定
という事をしたいのです。
できたらブログ書く。

Next→Rubyのお話。



#小休憩のための雑記

=begin
糖系学という誤変換が面白かった。
新統計学→新糖系学
=end




さて、Rubyのお話。

#

=begin
=end

ってなんぞやって思った人!挙手!ノ

こいつはメモに使えるらしい。
スクリプトが長くなると、部分が何をする為の箇所が分かりにくくなる。
そのためにメモできる場所を作るという訳。(この記号を使わずにメモ書くと、スクリプトと勘違いされてエラーが出ちゃう)
つまりは、ここメモですよマークな訳。

ちなみに

#あいうえお
は一行用


=begin
あいうえお
かきくけこ
さしすせそ
=end
は複数行用です。


参考
http://www.rubylife.jp/ini/ini/index4.html


今日は以上!

2011年9月25日日曜日

明日やろうはバカ野郎

明日やろうはバカ野郎

ということで、インフォマティクスのお勉強です。
バイオインフォマティクスの前にインフォマティクスが分からないからそこからスタート。
(まあ、生物学的なデータを扱った時点でバイオインフォなんですけど。。。。)


Rubyというプログラムのお勉強をしたいと思います。

参考URLはコチラ!
http://www.rubylife.jp/ini/

Rubyは無料のプログラムです。

頑張ってインストールしたので、その後からSTART!
(ほんとはインストール手伝ってもらいました。。。)

ちなみにOSはWindows Vistaちゃんです。
(やっぱりLinuxの方が良いのかなぁとかカッコつけていますが、Linuxはよう分からん。)



ではでは、コマンドプロントを起動!
Windowsキーでメニューが開いたら[cmd]と入力、Enterで起動するよ!

[ruby -v]と入力するとRubyのバージョン情報が出てきます。
バージョン情報が表示される=インストールが正常に完了しているよ!ってこと。


【入力に関して】
~省略~>Desktop>
の状態から[ruby -v]と入力し、
~省略~>Desktop>ruby -v
となったらEnterキー

【初心者で違和感を覚えること】
コマンドプロント上で[ruby]と入力すると、Rubyがインストール済みの状態では、プログラムが起動している状態になるのです。(一見、何も変化が無さそう。)
ウインドウが開くワケではなく、コマンドプロント上で作業するのです。



次にRubyの為のデータを作成。
既存のデータをRubyで処理⇒処理済みのデータを出力
という流れで進めます。
データ作成or既存のデータ ==Rubyで処理=⇒ 処理済みのデータが新規作成 って感じ。

作成するデータはとりあえずメモ帳で作ります。
フォルダ内の空白右クリック > 新規作成 > テキストドキュメント で
「新しいテキスト ドキュメント.txt」ができます。
拡張子は表示する様に設定しておくべし。
なぜならこの拡張子(.txt)を変更して[.rb]にするから。

.rbファイルを開く既定のプログラムをメモ帳にしておくと楽よ!



ここから参考URLを見ながら進める!
rubylife先生に従って、

メモ帳に
print("hello")
と記入し、
ファイル名を[test1-1.rb]にして保存
(新規保存=名前を付けて保存) ・・・まぁファイルが作成できれば何でも良いや。


次にコマンドプロントを起動します。
Shiftキーを押しながら右クリック > コマンドウインドウをここで開く
便利!
どの場所(どのフォルダの中)で作業するのかを教えてあげなくちゃいけないんだけど、
このやり方で開くと手間が省けるね。

【余談】
(Rもこのやり方出来ないんだろうか・・・?)
【Rって?】
R:統計解析プログラム エクセルよりも正確な計算ができ、作図もできる。こちらもフリーソフト
PC初心者は、計算しているのに、プログラミングをしているかのような厨二病感覚が味わえる。
要はとっつきにくいってこと。


さて、話を戻そう

[ruby test1-1.rb]というコマンドを入力しEnter

Hello

と表示された!
やったね。
[ruby ファイル名]で.rbファイルに書かれた内容を実行するのです。

今回は
print("hello")
なので
「"Hello"と表示して」
という指令でした。



疲れたので今日はここまで。
次からはもっと簡略化したメモにしよう。
文字打ってばっかで進まねぇ。

コマンドプロントについて

Rについて
R勉強用



追記
人の読むことを考えていないな。。。
katsubexの忘備録だと思ってご容赦ください。

自分が分かりやすいような表現で書いています。
何も分からない初心者なので、不適切な表現があるはず!

指摘されれば直しますので、ぜひこの無知に愛のムチを!←

ワールドイズマイン

勉強の前にちょっと休憩

忘備録


小笠原で出会った中島愛似の美人におもしろいと勧められた。

「ザ・ワールドイズマイン」
ネギを振っているあの天使のお歌ではないです。

そういえば地元がネギの名産地なので、初音ミクとコラボしてたらしい。
「ちょwww」ってなった。

あ、僕オタクでした。
でも、ギークでナードなのはマクロスだけです。


ともかくこの歌、歌詞がおもしれー。
↑歌詞

・・・今日はデジカメの修理に行かなきゃ。
サヨナラノツバサの予約も、生協での本の注文(こっちはお勉強用だよ!)もしたいなぁ。

お勉強は、明日から本気出す。


ブログを始めてみる。

なんとなく、ブログを始めてみる。

英語、バイオインフォマティクスについての勉強過程、頑張ったことを書いてみようと思う。

このブログが勉強のモチベーションになりますように。


三日坊主にならなきゃいいな。