溢れ出る加齢臭

カレー臭に加え加齢臭が溢れ出る年齢になりました。

R

データフレームから別のベクトルで指定した特定のデータを取り出す

R

subset(データフレーム, 列名 %in% 集合ベクトル) でできるそうだ。列名がIDになっていて、抽出する複数のIDをベクトルで記述しているときに使えそう。via:http://jasp.ism.ac.jp/kinou2sg/contents/ISM_symposium_R_2006.pdf

for文で変数名を変えながら処理する

R

Rで他言語みたいに変数名を変えながらfor文とかでつまったこと - WhereToStartよりpaste文を使うようだ。マルチアンサーのアンケート調査の結果をクロス集計しようとすると、選択肢それぞれに0-1変数でデータが入っているので、選択肢毎に別データが割り当て…

table関数で度数が0の項目を集計する

R

メモ。これは便利。 度数が0の項目を集計する(集計する項目を特定する)には、levelsオプションを指定してfactor変数にする。 ということは、選択肢が1から30まであるような設問であれば、 table(factor(data,levels=1:30)) みたいな感じにすればいいみたい…

SumでNAやNaNを無視して集計する方法

R

SUMのオプションである、na.rmをTRUEにする。(NAデータをremoveするという意味か) sum(data,na.rm=T) ref:Colorless Green Ideas:Rの合計を求める函数“sum”で、欠損値や非数がある場合の対策

国勢調査の調査区データに年齢階層別人口データを統合する

R

地図で見る統計(統計GIS)でダウンロードしたGISのデータに、年齢階層別人口のデータを統合して、GIS上で色分け表示できるようにする。GISのデータのうち、いわゆるデータベースのデータは、dBASE方式の.dbfファイルとなっている。このファイル、2003まで…

ベクトル演算について

R

> a b a [1] 1 2 3 4 5 > b [1] 10 8 6 4 2 ベクトルの内積 > a %*% b [,1] [1,] 70 ベクトルの外積 > a %o% b [,1] [,2] [,3] [,4] [,5] [1,] 10 8 6 4 2 [2,] 20 16 12 8 4 [3,] 30 24 18 12 6 [4,] 40 32 24 16 8 [5,] 50 40 30 20 10 つまり とすると、a…

複数条件でのデータフレーム取り出し

R

and条件の場合,"&"でつなぐ. 例)b =3,] or条件の場合,"|"でつなぐ 例)b =6,] 括弧でつないでも構わない. 例)b =6) & aa$V3>=3,]

データフレームの列名ベクトル

R

rownames(a) サブデータフレームを作成したときに,同じ行から構成される別のサブデータフレームを作成する際などに有効. 例)データフレームa, bからaa,bbを作成する. aa =5,] bb

データフレームから特定の行を抜き出す.

R

元のデータフレームをa,抜き出して作る新しいデータフレームをbとすると, b という書式.ベクトルの中は行番号から構成される. >> 例1)51行目から70行目までを使った新しいデータフレーム b 例2)5行目から5行ずつ飛ばして100行目までを使ったデータフ…

関数の凸性

R

ヘッシアン行列をmとすると, 行列式が正 det(m) 全ての固有値が正 eigen(m)$val 任意のベクトルに対して二次形式が正 h%*%m%*%t(h) おまけ 逆行列 solve(m) 固有ベクトル eigen(m)$vec

ベクトルの値の最大値とその位置

R

最大値は max(x) <−まあ,当たり前 ではその位置は,which.max(x)である.

plot関数でx軸の最大値・最小値を決めてグラフを書く

R

plot(x,2*x+8,type="l",xlim=c(0,100)) xlimは2要素から成るベクトルを代入,第1要素は下限,第2要素は上限.目盛の間隔は自動らしい・・・.

データフレームのテキストファイル出力

R

データフレームxを行名,列名なし,タブ区切りでファイル出力をするなら, write.table(x,"hoge.dat",sep="\t",col.names=FALSE,row.names=FALSE) できる場所はカレントディレクトリです.changedirでディレクトリの場所をあらかじめ指定しておきます.それ…

データフレームからの列削除

R

例えば第2列を削除したい場合 y2

データフレームからの抽出

R

データフィルタから特定の条件を持つデータを抽出する方法です. うまく説明できていませんが,Excelで言うところのフィルタを使ってデータを抽出する方法です. xをテキストファイルからread.tableで読み込んだデータフレームとします. > y #V1列が1である…

クロス集計

R

table(x,y)で度数分布を作成できます.これを重み(拡大係数)ベクトルz付で集計表を作りたい場合は,tapply(z,list(x,y),sum)とします. 最後のsumをmeanとすれば,平均値が出せます.

入力用データファイルのヘッダ

R

x 行番号・列タイトルがある場合:::read.table("c:/hoge.dat")で読み込める. 行番号・列タイトルともない場合:::read.table("c:/hoge.dat")で読み込める.このとき列タイトルは,V1,V2....となる 列タイトルだけがある場合:::read.table("c:/hoge.…