簡単にシミュレーション
周辺度数を与えて、ランダムに2x3表を作る
sample2x3<-function(m1=c(100,200),m2=c(50,100,150),n=1){ #出力用の行列を用意する answer<-matrix(rep(0,n*6),nrow=n) sum<-sum(m1) # 第1群と第2群の人数和を出す m1m2<-m2[1]+m2[2] # 1から総人数のシークエンスを作る x<-seq(from=1,to=sum) # 試行回数のループ for(i in 1:n){ # sample関数を使って、ケース群を抜きだす s<-sample(x,m1[1],replace=FALSE) # 抜き出されたケース群のうち、第1カテゴリの人数を数えて格納する answer[i,1]<-sum(s<m2[1]) # 抜き出されたケース群のうち、第1カテゴリ・第2カテゴリのいずれかの人数を数え、先に出した、第1カテゴリの人数を引くことで、ケースの第2カテゴリの人数を出す answer[i,2]<-sum(s<m1m2)-answer[i,1] # テーブルに2セルが決まったので、残りの4セルは以下で決まる answer[i,3]<-m1[1]-answer[i,1]-answer[i,2] answer[i,4]<-m2[1]-answer[i,1] answer[i,5]<-m2[2]-answer[i,2] answer[i,6]<-m2[3]-answer[i,3] } write.table(answer,file="TXTFILE1.txt",sep="\t",quote=F,row.names=F,col.names=F) return(answer) }