ruby

ruby+mechanizeでページのURLを取得

rubyでページのURL一覧を取得 例:ヤフーの長野県の検索結果のリンク require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" $KCODE="u" text="長野県" search=URI.encode(text.toutf8) URL="http://search.yahoo.co.jp/…

rubyのhpricot でxmlの切り出し

以下の文章のcounts属性を抜出し表示 test.html <head>This is a test. </head> <body> test <dagu elements=xxx> <td counts=3 no=xxx></td> <td counts=4 no=yyy></td> <td counts=hello no=zzz></td> </body> ルビーのソースコード hpricotは, xmlやhtml切り出し用のライブラリ gem install hpricot で入手できる. rubygems をインストール後.ルビーのソース require 'rubygems' req…

rubyで累積密度分布

rubyでcsvファイルの3行目で累積密度分布 ruby -na -e -F, 'BEGIN{$a=[]}; $a<<($F[3]);END{l=$a.length;k=l;$a.sort.each{|j| p uts [j,k/l].join(" ");k=k-1.0;}}' inputFILE shコマンドでCDF cf) sort -t"," -k3,3gr Data.csv | awk -F, 'BEGIN{i=0;}{…

rubyをawkの代わりに使う

rubyは完全にawkの代用になる。 書き方までawkと一緒。csvの2列目の合計を求める方法。 1,2,3 4,5,6 1,3,5 ruby -F"," -an 'BEGIN{$sum};sum=sum+$F[1];END{puts sum}' inputfile ポイントはrubyのグローバル変数は $をつけること 参考: http://d.hatena.ne…

rubyでワンライナー

rubyでawkのような一行野郎を作る。rubyはawkのようにファイルを一行ずつ 読み込む処理が可能である。 起動オプションを変えることで、 簡単に実現できる。 たとえば、 a,b,c e,f,g h,i,j のようなファイルがある場合、 ruby -F, -an 'puts $F[1]' ファイル…

Rでアニメーションで保存。

http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%BB%B2%B9%CD%BC%C2%CE%E3%BD%B8%A1%A7%BC%AB%BA%EE%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%C5%EA%B9%C6%CD%F3 より転載。convertコマンドが必要。 for (i in formatC(1:20,…

 rubyでカタカナをひらがなに変換

jocodeが必要。 require 'jcode' str="アイウエオ" str2= str.tr("ァ-ン","ぁ-ん") puts str2 require 'jcode' a=File.open(ARGV[0]);a.each{|str| str=str.gsub (/lya/,"ャ") str=str.gsub (/lyu/,"ュ") str=str.gsub (/lyo/,"ョ") str=str.gsub (/lwa/,"ヮ…

カタカナをアルファベットに変換2(修正版)

修正版:次のルールでカタカナをアルファベットに変換 カタカナの「ニ」と漢字の「二」の 違いに注意。また、アルファベット3文字を優先的に 置換を行う。katakana.kana ャ,lya ュ,lyu ョ,lyo ヮ,lwa ッ,ltu ヴ,va ヵ,lka ヶ,lke ア,_a イ,_i ウ,_u エ,_e オ…

watirでフレームのあるページのログイン処理の例

watirでのフレームの あるページのログイン処理の例 $KCODE="SJIS" require 'kconv' require 'rubygems'; require 'watir'; #$KCODE="SJIS" ie=Watir::IE.new; ie.goto('https://xxx.yyyy.com') ; f1=ie.text_field(:name,"user").set('xxxusernamexxxx'); f…

watirではframe操作

watirではframe操作 http://wiki.openqa.org/display/WTR/Frames通信する時間を sleep 10 とかで待たないと 失敗する。 ie.frame(:name,/xxx/).url とかurlを 抽出できる。ネストは、 ie.frame.(:name,/yyyy/).frame(:name,/xxx/).url とかアクセスできる。 …

WatirでIEを自動操作♪

インストール (1)windows版のruby を入手。http://www.ruby-lang.org/ja/downloads/ のActiveScriptRuby http://www.artonx.org/data/asr/ をダウンロードして、 ダウンロードした ファイルを実行。 (2) watirの入手。 rubyコンソールの実行。 [windows]-…

rubyのWatirでgoogleを日本語で自動検索

http://yaplog.jp/free_bsd/archive/144を参考にさせていただきました。コピー、ペースト方式で 日本語入力。 準備 1)auto3Exe http://www.autoitscript.com/autoit3/downloads.shtml 2)クリップボード win32-clipboard-0.4.3 (gem install win32-clipboard…

rubyで統計解析 :データ編、ヒストグラム

rubyで統計解析 :データ編、ヒストグラムGSLを使用すると、 xterm + irb でほとんどR風の解析ができる。 かなり、すごい。 例)カンマ区切りの三列目のデータの 値の対数をとり、そのヒストグラムを 書く。 これを $irb として、 一行一行下のコマンド をう…

 rubyで一行でヒストグラムを書く。

rubyで一行で2列目のヒストグラムを書く? cut + rubyをつかう。 cut -d"," -f2 InputFile.txt | ruby -e 'require "GSL"; d=[];STDIN.each{|i|d<

tritonn

http://qwik.jp/tritonn/about.html

 rubyで安定分布乱数の発生法

rubyでの安定分布乱数の発生法これだけででるのか?? でるとしたら、ものすごく楽。 http://rb-gsl.rubyforge.org/randist.html 最低限 require 'rubygems' require 'narray' require 'gsl' #乱数の初期化 #メルセンヌツイスタ、種は0 rng=GSL::Rng.alloc #…

GSLとrubyで統計計算 (要約等計量とヒストグラム)

参考 http://rb-gsl.rubyforge.org/ref.htmlとても便利そう。要約統計量の計算 require 'rubygems' require 'narray' require 'gsl' #ベクトル型 v=GSL::Vector[1..6] v[2]=10 puts v #平均 puts v.mean #分散 puts v.sd #最大値 puts v.max #最小値 puts v.…

GSL(GNU Scientific Library)

GSLは (GNU Scientific Library)の略。 科学技術計算のライブラリ。 特殊関数、数値積分、統計計算、ヒストグラムなどよく使用される科学技術はたいていできる。C言語、rubyなどさまざまな言語で利用できる。Numerical recipes の代用になる。 http://nakan…

rubyで数値計算、GNU Scientific Libraryサイエンスライブラリの利用

rubyで数値計算GNU Scientific Libraryのライブラリを利用。 http://diaspar.jp/node/215Ruby/GSL http://rubyforge.org/projects/rb-gsl/インストール http://rb-gsl.rubyforge.org/ % cd rb-gsl-xxx/ % ruby setup.rb config % ruby setup.rb setup % ruby…

カタカナをアルファベットに変換

次のルールでカタカナをアルファベットに変換 カタカナの「ニ」と漢字の「二」の 違いに注意。katakana.kana ア,_a イ,_i ウ,_u エ,_e オ,_o カ,ka キ,ki ク,ku ケ,ke コ,ko サ,sa シ,si ス,su セ,se ソ,so タ,ta チ,ti ツ,tu テ,te ト,to ナ,na ニ,ni ヌ,nu…

rubyの配列のランダムシャッフルのいろいろ

rubyの配列のランダムシャッフルのいろいろhttp://blog.digital-squad.net/article/103143300.html ary=[1,2,3,4,5] # => [1, 2, 3, 4, 5] ary[rand(ary.length)] # => [1〜5のいずれか] ) ary.sort_by{rand} # => [3, 1, 5, 2, 4] #[ruby-list:43811]より h…

google 翻訳をrubyで行う。

google翻訳をrubyで行う。英語→日本語は簡単にできるが、 日本語→英語が文字化けしてしまう。どうもnet/httpなどが、utf-8の文章をsjis で解釈してしまっているのが問題なのかもしれないが よくわからない。とりあえず、今のところmechanaize(ブラウザのよう…

他の人のフォロワーの出力改良版

他の人のフォロワーの出力改良版 http://d.hatena.ne.jp/arupaka-_-arupaka/20091011の改良:とりあえず、ページ数にむりやり5を足している問題は解決させた。 ただし、 APIのエラー (http://d.hatena.ne.jp/kermitonphd/20091011を参照) 取得中にフォロ…

他の人のフォロワーの取得

他の人のフォロワーの名前の取得例 オバマただし、APIの制限で100人までしか 取得できない。 require 'rubygems' require 'twitter' oauth=Twitter::HTTPAuth.new('Email','pass') agent = Twitter::Base.new(oauth) agent.followers(:screen_name => 'Barac…

フォロワーを全員表示

フォロワーを全員表示。暫定版、 あんまりいい方法ではない。 オバマとかは多すぎてたぶん無理です。 require 'rubygems' require 'twitter' oauth=Twitter::HTTPAuth.new('EMAIL','PASSWORD') agent = Twitter::Base.new(oauth) count=agent.user(-1,{'scre…

 今日の記録

5476

twitter オバマのフォロワー数を表示。

twitter オバマのフォロワー数を表示。 require 'rubygems' require 'twitter' oauth=Twitter::HTTPAuth.new('Email','Password') agent = Twitter::Base.new(oauth) puts agent.user(-1,{'screen_name'=>'BarackObama'})['followers_count'] とすればよい。…

twitter自分のフォロワーのscreen_nameを表示

インストール gem install twitter 自分のフォロワーのscreen_nameを表示。利用 require 'rubygems' require 'twitter'#login oauth=Twitter::HTTPAuth.new('EMAIL','PASSWORD') agent = Twitter::Base.new(oauth)#user id で出力 c=[] i=0; agent.follower_…

rubyで数値計算

http://jp.rubyist.net/magazine/?0006-RLR

 コロモゴロフ-スミルノフ検定 ruby 実装 改訂版

コロモゴロフ検定 ruby 実装 改訂版 include Math #べき分布の分布関数 def f(x=2,alpha=1,xmin=1) z=1-(xmin**alpha)/(x**alpha) return z end#正規分布の分布関数def f2(x,mean=1,sd=1) 0.5*(1.0+erf*1*exp(-2.0*j*j*x*x); } return sum; end sortData=dat…