データ処理

C++でユニコード文字列を扱う。 (この方法じゃぁだめだそうです)

wstringというクラスを使う。 代入の時にはL"xxx"とする。 cygwin ではwstringだとコンパイルできないので std::basic_stringとする.http://www.geocities.co.jp/bleis_tift/cpp/string.html http://others2.blog.so-net.ne.jp/2010-09-24 http://wisdom.sa…

Rで対数軸の等高線。 

Rで対数軸の等高線。 matmat<-function(x,y,z,kugirix=27,kugiriy=27,add=F, plot=T,col=col2){ dimx<-exp(seq(min(log(x)),max(log(x)),length.out=kugirix)) dimy<-exp(seq(min(log(y)),max(log(y)),length.out=kugiriy)) mat1<-matrix(nrow=(kugirix-1),n…

Rで2次元ヒストグラム

Rで2次元ヒストグラムを書く。 hist2db<-function(x,y,kugirix,kugiriy){ sx<-kugirix[1:(length(kugirix)-1)] sy<-kugiriy[1:(length(kugiriy)-1)] fx<-kugirix[2:(length(kugirix))] fy<-kugiriy[2:(length(kugiriy))] counts<-0 i1<-0 i2<-0 j1<-0 j2<-0 …

一般の離散分布の従う乱数の発生させる方法

エイリアス法は有限要素の離散分布を発生させる方法。一般の離散分布を発生できる。 http://amath.colorado.edu/courses/7400/2004fall/002/Web/SS-10.ppt二者択一法ともいう。(alias method)基本は、npが平均が1になる性質を利用すして、乱数を一様分布に…

カセンエンジニアリング株式会社

カセンエンジニアリング株式会社

 グラフの可視化cytoscapeの使用メモリー数を増やす

大規模ネットワークを扱う場合、 cytoscapeの使用メモリを増やす必要がある。 http://cydoc.sourceforge.jp/cydocwiki/index.php?%E6%9C%80%E5%A4%A7%E4%BD%BF%E7%94%A8%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%92%E5%A2%97%E3%82%84%E3%81%99%E3%81%AB%E3%81%AF%…

pythonの辞書型(連想配列の)削除。

pythonの辞書型(連想配列の)要素の削除の色々。 http://www.pythonweb.jp/tutorial/dictionary/index6.html基本 del a["xxx"] でキー"xxx"を持つ要素が消える。

ログアウトしても scp による転送が終了しないようにする方法

ログアウトしても scp によるファイル転送が終了しないようにする方法。これはすばらしいです。 http://d.hatena.ne.jp/yohei-a/20100212/1265950974 (1)nohup scp user@xxx.ac.jp xxx xxx &はつけないのがポイント (2)パスワードを聞かれるので入力。 (3)…

深さ優先探索DFS

深さ優先探索 (1) 出発ノードを決める。 (2) 隣接しているノードを選び、そのノードに 進む。一度到着したノードはそのことを記録しておく。 (3) (2)を進むノードがなくなるまで続ける。 (4) 進めるノードがなくなった場合、一つの根のノードに戻り、(2)-(3)…

Rでカーネル密度推定

基本はdensity関数を使えば よい。細かい調整が必要な場合 下のように実装できる。矩形カーネル #基本はこれでOK. plot(density(data)) #カーネル関数 k<-function(x){ 0.5*(abs(x)<=1) } #刻み幅 h=0.1 #密度関数 f<-function(x,h,data){ X<-0 for(i in …

ダブルコーテーションの中のカンマを取り除く2。

ダブルコーテーションの中のカンマを取り除く。その2。 前のsedのものだと,一つしか 消せないというご指摘 を受けたので、改定。 awkを使いすっきりさせた。 $ cat tmp 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"ab…

ダブルコーテーションの中のカンマを取り除く。

ダブルコーテーションの中のカンマを取り除く。 $ cat tmp 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 1,2,3,"abc,efg",5 $ sed "s/\"\(.*\),\(.*\)\"/\"\1\2\"/g" tmp 1,2,3,"abcefg",5 1,2,3,"abcefg",5 1,2,3,"abcefg",5 1,2,3,"abcefg",5 …

 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 オ…

リスト表示されたネットワークのノードのランダム置換。(2行ファイルの文字列の置換)

pythonで2行のランダムに文字列置き換える。これは、リスト表示されたネットワークのランダム置換に使用できる。 import random import sys import csv a1=[] a2=[] for row in csv.reader(file(sys.argv[1])): col1,col2=row a1.append(col1.strip("\n")) …

 pythonで2列のcsvファイルの内容を連想配列に

pythonで2列のcsvファイルの内容を連想配列に次のcsvファイル連想配列に代入。 a,1 b,2 c,3 結果、連想配列は ch['a']=1 ch['b']=2 ch['c']=3 となる。コード import random import sys import csv #filename=sys.argv[1] a1=[] a2=[] for row in csv.reade…

 pythonでデータのランダムシャッフル2

pythonでデータのランダムシャッフル2。 連想配列に記録。 import random import sys import csv #filename=sys.argv[1] a1=[] a2=[] for row in csv.reader(file(sys.argv[1])): col1,col2=row a1.append(col1.strip("\n")) a2.append(col2.strip("\n")) a…

 pythonの連想配列

pythonでの連想配列pythonでは辞書型という。 #中かっこで定義 a={} # key:value の形式で定義 b={'one':1,'two':2,'three':3} print b['one'],b['two'] # keyを外から与える。 d='four' b[d]=4 print b[d] 参考 http://docs.python.org/library/stdtypes.ht…

python の便利なレファレンス

便利http://www.shido.info/py/python2.htmlzip(a,b)はa,bまとめて、 イテレート(ループ) できる。>|python| for i,j in zip(a,b): print i,j|

 pythonでcsvファイル読み取りランダムシャッフル

pythonでcsvデータを 読み込み一行にしてランダムシャッフル。 import random import sys import csv #filename=sys.argv[1] a1=[] a2=[] for row in csv.reader(file(sys.argv[1])): col1,col2=row a1.append(col1) a2.append(col2) a=a1+a2 a=list(set(a))…

pythonでuniq風。 ただし、順番を保存しないので、 注意。 a=list(set(a))

 pythonでデータのランダムシャッフル

pythonでcsvファイルを読み込む。 一つめのコマンド引数でファイルを指定 python test.py [filename] awk -F, '{print $1,$2}' [filename] とおなじ。test.py import random import sys import csv for row in csv.reader(file(sys.argv[1])): col1,col2=row…

 pythonでデータのランダムシャッフル

pythonでデータのランダムシャッフル。 入力ファイル 1 2 3 4 5 出力ファイル 1,3 2,4 3,2 4,1 5,5 コード: import random import sys file=sys.argv[1] #print file a=[] #ファイル読み込み for line in open(file,'r'): a.append(line.strip("\n")) #配列…

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

次のルールでカタカナをアルファベットに変換 カタカナの「ニ」と漢字の「二」の 違いに注意。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…

Rでポアソン分布の適合度検定

Rでポアソン分布の適合度検定 chisq.test(as.vector(table(b)),dpois(union(min(b),b),lambda=mean(b))) で大丈夫か?union(min(b),b)は 与えられる数の重複する部分を切っているだけ。

rubyによるネットワーク形式のファイルの併合(マージ)

2つのファイル(データファイルと ネットワークファイルを)を一列目をキーに 併合する。 ネットワークファイルは リスト表現されている。 イメージとしては、file1.csv 1, 44, a 2, 55, bb 3, 54, cd 4, 543, df 5, 53, ef file2.csv 1, 4 1, 5 2, 4 2, 3 …

 stringクラスの便利なメソッド(rubyをsed風に使う) :tr_s

rubyの検出関数tr_sについて。sed的な置換ができる。 置換 tr_s例)ダブルコーテーションの削除 str="\"abcdefg\"" puts tr_s(",","")

 stringクラスの便利なメソッド(特定のパターンを検出、配列に格納) :scan

rubyの検出関数scanについて。 検出 scan例)ダブルコーテーション囲まれた、数字データと日付データ[1996-2-12]形式の検出。検出された順に配列に格納される。fdaf="123" fdkkak="1996-2-11" fdafad="42"ならば、 a=["123","1996-2-11","42"] と格納される…

Bsh:whlieループでファイルを読み込む

bshでは、whileループで一行づつファイルを 読み込みながら処理できる。 書式while read LINE do処理 [例:echo $LINE]done 実際の実装: while read LINE do str=`echo $LINE | awk '{print $1}'` str2=`echo $LINE | awk '{print $2}'` kigyoumei=`grep $st…