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

 ファイルからのデータフレームに読み取り。

R

ヘッダーがない場合は、CSVファイルは x<-read.csv("",header=F) y<-read.csv("",header=F) x<-subset(x,complete.cases(x)) header=Fでとりだす。

獣の奏者エリン

お正月に妹に進められて 再放送していて一気にみたアニメ。 獣の奏者エリン http://www3.nhk.or.jp/anime/erin/ とてもよくできていて、 面白い。音楽もよいかんじ。 エリンが動物や人とかかわりながら 成長していく話。エリンも好奇心旺盛で 元気、まわりの…

Rで併合 merge

R

Rにはmerge関数がある。 併合はこれを使えば楽。http://rwork.rakurakuhp.net/i_339092,si_38326.htm

awkでページランク

awkでページランクの計算。 1 3 2 5 3 6 4 7 というリストデータに対して、 $ cat gai3.awk { m[$2"a"$1]=1; } END{ c=0.85 for(i in m){ split(i,n,"a") Sum[n[2]]=1+Sum[n[2]]; } for( i in m){ split(i,n,"a") h[i]=-c*(m[i]/Sum[n[2]]); #print n[1],n[2…

 awkで複数のファイルを一列目をkeyに併合(マージ)。

awkで複数のファイルを一列目をkeyに併合(マージ)。 とても無理やり。 file1.txt 1 3 2 3 3 4 5 6 file2.txt 1 A 2 B 5 D file3.txt 1 a 2 b 3 c から、ファイルを併合し marge.csv 1,3,A,a 2,3,B,b 3,4,,c 5,6,D, を作成。awk -f heigou.awk file1.txt fi…

 tee 標準出力とファイルに同時書きだす。

teeというコマンドは 実行結果を標準出力とファイルに同時書きだすことが できる。 $echo "hello" | tee tmp hello $cat tmp hello $ls | tee tmp $cat tmp

awkの2次元配列

awk

行列 1 2 1 3 2 100 (1)2次元配列に代入。 方法1:まずは手で直接書いて配列に代入。 $ awk 'BEGIN{a["1a2"]=1;a["1a3"]=1;a["2a100"]=1;for(i in a){split(i,k,"a");pr int k[1],k[2],a[i]}}' 1 2 1 1 3 1 2 100 1 方法2:ファイルから $ awk '{a[$1"…

 awkでページランク

Rで求めきれない大きいネットワークの ページランクでawkで求める。 awkaでコンパイルするとさらに速くなるはず。

awka :awkをC言語に翻訳して早く実行

awkをC言語に翻訳して早く実行 コンパイルとインストール $wget http://awka.sourceforge.net/awka-0.7.5.tar.gz $gzip -d awka-0.7.5.tar.gz $tar -xvf awka-0.7.5.tar $cd awka-0.7.5 $./configure $make $make test 使い方 まずこれを作る awk2c.sh #!/bi…

GSLをC言語から利用する。

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。サンプルプログラム #include <stdio.h> #include <gsl/gsl_sf_bessel.h> int main(void){ double x=5.0; double y=gsl_sf_bessel_J0(x); printf("J0(%g)=%e",x,y);</gsl/gsl_sf_bessel.h></stdio.h>…

GSLのインストール。

C

GSLはフリーの科学技術ライブラリ。 数値計算で必要なものはほとんどある。 以前はrubyで使用したが今度はC言語で利用する。http://www.econ.umn.edu/~steve/gsl/ダウンロード $ wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz 解凍と展開 tar -zxvf gsl-1.…

Rでページランクの計算

Rでページランクの計算 package igraphをインストールした後。 ノートPCでかなり大きい行列 まで求められた。 libray(igraph) in1<-c(0,0,1,2) out1<-c(1,2,2,0) x_y <- cbind(out1,in1) g<-as.directed(graph.edgelist(x_y)) p<-page.rank(g) tkplot(g) p$v…

Rで連立一次方程式の解を求める。

R

Rで連立一次方程式の解を求める。 solve関数を使える。 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/20.html a <- matrix(c(0,1,2,3,4,5,6,7,9), 3,3) b<-matrix(c(1,0,-2)) solve(a,b) # 3y + 6z = 1 # x + 4y + 7z = 0 # 2x + 5y + 9z = -2 >|sh| [,1]…

awkでヤコビ法

awk

awkで連立方程式をヤコビ法で解く。 $ cat gai.awk BEGIN{ a["1a1"]=5;a["1a2"]=2;a["2a1"]=3;a["2a2"]=6; b[1]=5;b[2]=5; y[1]=1;y[2]=1; for(k=1;k<=35;k++){ for(i in a){ split(i,out,"a"); if(out[1] !=out[2]){ l[out[1]]=l[out[1]]+a[i]*y[out[2] }el…

Rですべての列にデータを含む行の抽出

Rですべての列にデータを含む行の抽出する。 具体的には、 NA(データなし)を含む列を除去する。 例えば、 1,,3 1,3,4 1,5,6 ,,3 1,3,5 1,2,3 1,2, のようなデータ から 1,3,4 1,5,6 1,3,5 1,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 …

vncサーバの接続出来ない状態と回復

vncサーバの接続できなくなった。 以下のことをすると とりあえずつながるようになった。 1) sshで接続。 2) vnc4server :2 とし2番画面で サーバーを開く、realvncで2番画面に接続。これでなんとかなった。 注意点は、まず、sshでコネクションを作らない…

福祉ネットワーク

福祉ネットワーク オランダの暮らし。生き方を選択できる社会。

Rと行列 -列の標準偏差を求める。-

R

Rと行列についてよく使うこと をまとめる。 1)行列を作る。 ベクトルの集合があるときは、 ベクトルから行列を 作る関数cbindが便利。 mat<-NULL a<-c(1,2,3) cbind(mat,a) a<-c(2,3,4) cbind(mat,a) a<-c(4,6,7) cbind(mat,a) mat 出力は a a a [1,] 1 2 …

Javaのlinux(ubuntu)へのインストール

Javaをubuntuにインストールする。 http://d.hatena.ne.jp/yokolet/20070309#11734 を参考にさせていただきました。 まず、jdkをダウンロード。 http://java.sun.com/javase/downloads/index.jsp 次に、インストールキッドの実行。 $sudo chmod a+x jdk* $su…

 色々な利益や価値の基準

(1)利益 (2) 比率 (サイズで規格化) (3) 比率-期待比率 (1)は営業利益や経営利益や フリーキャッシュフローなど、(2)ROAやPERやROEなど。(3)はEVAなど。期待利益はWACCなどで 計算する。 大雑把には、 「社会の成長率+資産の生み出す利益+リスク」 の和の…

ベーシックインカム(BI)

ベーシックインカム(BI)。 私は新党日本の政権放送ではじめて しったが、朝生などテレビやネット を問わず最近話題になっている。 今後の日本の大きなテーマになる可能性が 高い。そう簡単にはマスコミに取り上げられない言葉なので、話題の伝搬としても興味…

grepでディレクトリ内のファイルの文章の検索

grepでディレクトリ内のファイルの文章の検索。効率はよくないが、簡単。 下の文章は、カレントディレクトリのなかの拡張子Rのファイル内のxxx という文字列を検索。 find . -name "*R" -exec grep -H xxx {} \; grep -Hでファイル名も表示

cygwinXの日本語化

cygwinのXサーバーで 日本語の入力と出力を 出来るようにする。また、表示をきれいにする。 最終的にはこんな感じになった。 (cygwinのXでもかなりきれいな環境をつくれるようだ。) 写真の環境の導入方法を書く。 まず、日本語バイナリをインストール。この…

標準出力を clipboardに貼り付ける。

http://www4.kcn.ne.jp/~boochang/cygwin/index.htmlより 引用です。putclipというコマンドで標準出力の 内容をclipboardに貼り付けられます。getclipというコマンドでクリップボードの内容を受け取れる。たとえば、 ls -l | putclip getclip これは、解析結…

cygwinでwmakerを利用する。

cygwinでは、xはtwmなので、 もう少し使いやすいwmakerを利用する。 /etc/X11/xinit/xinitrc twm & を #twm & wmaker & に変える。http://www.atmarkit.co.jp/flinux/special/cygwin2/cygwin01b.html と少し設定するファイルが違う。 startX & で起動できる…

0円で作る linuxのデータ解析、数学環境の整備(フリーソフト)

linuxの数学とデータ解析環境の整備。 すべてフリーソフトで構成。 (まだ、ネットワーク可視化[グラフ可視化]のソフト がたりない。→ cytoscapeをインストールすると良い。) 外部PCとの接続ソフト #リモートデスクトップ apt-get install vnc4server apt…

ubuntuのvnc4serverの設定。

ubuntuのvnc4serverの設定。 デフォルトのvncサーバーのピーノは オンラインのログインできないので、オンラインログインできるvnc4serverを使う。A)まず、インストール。 次のものをインストール sudo apt-get install vnc4server sudo apt-get install xin…

ダブルコーテーションの中のカンマを取り除く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 …