大小不同の瞬発力

  • 貧血における赤血球の大小不同や悪性細胞の大小不同の定量の瞬発力


# 一視野あたりの細胞数
n.cell <- 10

# 半径の平均はすべてのスライドでそろえよう
r.mean <- 1
# 結構ばらばらな2x2分割表を作る
library(MCMCpack)
library(shape)
# 細胞の位置座標
max.x <- 10
x <- matrix(runif(n.cell*2),ncol=2)*max.x


# 一度に提示・比較するスライドの個数を指定
k <- 3
# 『どのスライドの半径のばらつきが一番大きいか?』クイズの実行回数
n.trial <- 20
color <-graycol(n = 50)
dr    <- 0.05
par(mfcol=c(1,k))

for(i in 1:n.trial){
	sds <- runif(k)*0.2 + 0.1
	rs <- list()
	for(j in 1:k){
		# 『sdは?』
		ttl <- "sd=?"
		rs[[j]] <- rnorm(n.cell,r.mean,sds[j])
		emptyplot(xlim = c(0, max.x), ,main = ttl)
		for(jj in 1:n.cell){
			filledcircle(r1 = rs[[j]][jj], mid = x[jj,], col = shadepalette(endcol = "darkblue")) 
		}
		par(ask=FALSE)
	}
	par(ask=TRUE)
	sample.sds <- lapply(rs,sd)
	#print(sample.sds)
	for(j in 1:k){
		# 標本SDを示しつつ、一番ばらついているスライドをハイライト
		ttl <- round(sample.sds[[j]],2)
		emptyplot(xlim = c(0, max.x), ,main = ttl)
		if(sample.sds[j] == max(unlist(sample.sds))){

			for(jj in 1:n.cell){
				filledcircle(r1 = rs[[j]][jj], mid = x[jj,], col = shadepalette(endcol = "darkblue")) 
			}

		}else{
			for(jj in 1:n.cell){
				filledcircle(r1 = rs[[j]][jj], mid = x[jj,], col = shadepalette(endcol = "grey")) 
			}

		}
		
		par(ask=FALSE)
	}
	par(ask=TRUE)
}
par(mfcol=c(1,1))