http://d.hatena.ne.jp/ryamada22222/ の中の MakeOTable 関数は以下のようになっているが
MakeOTable<-function(p,k=c(0,1)){
n<-length(k)
m<-matrix(0,n,length(p))
for(i in 1:n){
m[i,which(p==k[i])]<-1
}
m
}
こんな風にした方がよい。なんと,1行でできる。
MakeOTable2 <- function(p, k=0:1) {
sapply(p, "==", k)+0
}
R では,== も「関数」なのだ。
>"=="(3, 4)
[1] FALSE
> "=="(3, 3)
[1] TRUE
※コメント投稿者のブログIDはブログ作成者のみに通知されます