2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

臨床統計もおもしろいですよ、その3

1 :卵の名無しさん:2020/03/05(木) 20:17:05.03 ID:naSB8128.net
 
 内科認定医受験の最低限の知識、
 製薬会社の示してくる臨床データ、
 論文の考察、
 論文を書くときの正当性、
 というのが、臨床統計の今までの目的の大きい部分でしたが、
 
 AI=機械学習の基本も、結局は統計学と確率に支配されます。
 そういう雑多な話をするスレです。
 
※前スレ
臨床統計もおもしろいですよ、その1
https://egg.2ch.net/test/read.cgi/hosp/1493809494/
臨床統計もおもしろいですよ、その2
https://egg.5ch.net/test/read.cgi/hosp/1540905566/

187 :卵の名無しさん:2020/05/25(月) 18:00:37.69 ID:m/x5AhgL.net
回帰係数の比較ならコクランアーミテッジだったかな。
Rだとprop.trend.testでできたはず!

188 :卵の名無しさん:2020/05/25(月) 19:07:25.19 ID:I4VYZbvs.net
皆さんありがとうございます
すいませんjmpかエクセル統計で計算できるのだと嬉しいです。

189 :卵の名無しさん:2020/05/25(月) 20:15:07.84 ID:ZmKINRjj.net
やったね たえちゃん

190 :卵の名無しさん:2020/05/25(月) 21:59:58.02 ID:m/x5AhgL.net
Rだと
kruskal.testで多重比較で有意差確認してから
平均比較ならpairwise.t.test
比率比較ならpairwise.prop.test
補正法は指定できる。

エクセルのマクロは売られている。
使ったこともないけど。
https://bellcurve.jp/ex/function/kruskal.html

191 :卵の名無しさん:2020/05/26(火) 07:48:20.04 ID:ZksetU7j.net
今日も朝から人生が暇しかない
Fラン統計ジジイ あらため コロナ薬屋 が
発狂して連投だぁぁぁW

それにしても反日野党や反日マスコミは日本の足を引っ張ることしかしてませんね
存在意義がないとしか言えません
だって反日なんだもの

by 都内Sラン女子高生

192 :卵の名無しさん:2020/05/26(火) 12:50:37.25 ID:5lPxAo99.net
"
>勤務医が院長のおれの悪口を妻に話してたそうだ
>腹が立ったからクビにする
を登場人物としてみた。
(問題)
新型コロナに勤務医が罹患。
勤務医が発症した翌日に院長が発症、その2日後に妻が発症した。
(1)妻が感染源である(最初に感染していた)確率を求めよ。
(2)感染順が妻→勤務医→院長の順である確率を求めよ。
#--- incubation period ---
# from Li et al NEJM 2020
# lognormal mean = 5.21 sd=3.86
# ln.par1 = 1.434065
# ln.par2 = 0.6612
rm(list=ls())
ln_par1 = 1.434065
ln_par2 = 0.6612
Aincub=rlnorm(1e6,ln_par1,ln_par2) # 勤務医
Bincub=rlnorm(1e6,ln_par1,ln_par2) # 院長
Cincub=rlnorm(1e6,ln_par1,ln_par2) # 妻
"
Ainfected=Aonset-Aincub
Binfected=Bonset-Bincub=Aonset+1-Bincub
Cinfected=Conset-Cincub=Bonset+2-Cincub=Aonset+3-Cincub
"
Aonset=0
Ainfected=Aonset-Aincub
Binfected=Aonset+1-Bincub
Cinfected=Aonset+3-Cincub
ABCinfected = as.data.frame(cbind(Ainfected,Binfected,Cinfected))
boxplot(ABCinfected)

193 :卵の名無しさん:2020/05/26(火) 12:50:43.88 ID:5lPxAo99.net
fn1 <- function(x) min(x)==x['Cinfected']
mean(apply(ABCinfected,1,fn1))

fn2 <- function(x){
x['Cinfected'] < x['Ainfected']
& x['Ainfected'] < x['Binfected']
}
mean(apply(ABCinfected,1,fn2))

194 :卵の名無しさん:2020/05/26(火) 23:37:54.50 ID:+nMfC17p.net
まず全裸になり
             (  : )
        ( ゜∀゜)ノ彡
        <(   )
        ノωヽ

 自分の尻を両手でバンバン叩きながら白目をむき
           从
       Д゚  )  て
        ( ヾ) )ヾ て
           < <

      人__人__人__人__人__人__人__人__人__人__人
    Σ                           て
    Σ  びっくりするほどユートピア!        て人__人_
    Σ         びっくりするほどユートピア!      て
     ⌒Y⌒Y⌒Y)                          て
             Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒
 _______
 |__       ヽ(゜∀゜)ノ
 |\_〃´ ̄ ̄ ヽ..ヘ(   )ミ
 | |\,.-〜´ ̄ ̄   ω > (∀゜ )ノ
 \|∫\   _,. - 、_,. - 、 \ (  ヘ)
   \   \______ _\<
    \  || ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
      \||_______ |


これを10分程続けると妙な脱力感に襲われ、解脱気分に浸れる。

195 :卵の名無しさん:2020/05/27(水) 04:43:18.93 ID:uX2xSEBS.net
x1,x2,...,xnの順に発症
その間隔はt1,t2,..,tn-1としたときにxiが感染源であった確率を算出するプログラムを作れ。

196 :卵の名無しさん:2020/05/27(水) 05:15:26.64 ID:uX2xSEBS.net
安倍は新コロナは中国発と認めたから春節ウェルカムは外患誘致。
早くアメリカと足並み揃えて中国に損害賠償請求して国民に赦しを乞うべき。

観光立国という亡国政策で日本は衰退途上国。
次の世代の日本人は実習生として中国に出稼ぎがで立場が逆転。
日本人なら過労死自殺しても経営者殺害はしないから酷使される。

観光でしか生きていけない国になったときに中国からの訪日禁止すれば日本は中国に平伏すしかなくなる。
尖閣どころか沖縄を寄越せとか言われても差し出すことになりそうだな。

197 :卵の名無しさん:2020/05/27(水) 06:40:49.96 ID:uX2xSEBS.net
>>195
モデルは簡単なのでStanやJagsを使わずに完成

WhoInfectedFirst <- function( # 発症間隔から感染源の確率を計算
t=c(1,2), # 発症間隔
k=1e5 # 乱数発生数
){
ln_par1 = 1.434065 # 潜伏期間対数正規分布パラメータ
ln_par2 = 0.6612
n=length(t)+1 # 発症人数

# 潜伏期間
x_incub = matrix(rep(NA,n*k),ncol=n)
for(i in 1:n) x_incub[,i] = rlnorm(k,ln_par1,ln_par2)

# 感染日(一人目の発症日:0)
x_infected = matrix(rep(NA,n*k),ncol=n)
x_infected[,1]= -x_incub[,1]
for(i in 2:n) x_infected[,i] = sum(t[1:(i-1)]) - x_incub[,i]

# i番目の発症者が感染源の確率
fi <- function(i){
mean(apply(x_infected,1,function(x) which.min(x)==i))
}
data.frame(p=round(sapply(1:n,fi),2))
}
WhoInfectedFirst(c(1,2))
WhoInfectedFirst(c(1,0,1,0,0)) # 翌日2人発症 翌々日3人発症

198 :卵の名無しさん:2020/05/27(水) 07:57:44.10 ID:KMcVqry5.net
やったね たえちゃん

Fラン統計ジジイ あらため コロナ薬屋は
今日もクルクルパーだよ

199 :卵の名無しさん:2020/05/27(水) 17:40:48.61 ID:uX2xSEBS.net
>>197
忘れないようにStanで書いてみた。
################# MCMC by stan ############

stancode='
data {
int<lower=0> n;
vector[n-1] t;
real ln_par1;
real ln_par2;
}

parameters {
real<lower=0> x_incub[n];
}

model {
target += lognormal_lpdf(x_incub|ln_par1,ln_par2);
}

generated quantities{
real x_infected[n];
x_infected[1]= -x_incub[1];
for(i in 2:n){
x_infected[i] = sum(t[1:(i-1)]) - x_incub[i];
}
}

'

200 :卵の名無しさん:2020/05/27(水) 17:40:55.22 ID:uX2xSEBS.net
stanmodel=stan_model(model_code = stancode)
saveRDS(stanmodel,'cavaret.rds')
t=c(1,0,1,0,0)
n=length(t)+1
ln_par1 = 1.434065
ln_par2 = 0.6612
data=list(t=t,n=n,ln_par1=ln_par1,ln_par2=ln_par2)
fit=sampling(stanmodel,data=data,iter=1e5,thin=1,chains=4,
control=list(adapt_delta=0.95))
pars=c('x_infected')
print(fit,pars=pars)
stan_dens(fit,pars=pars,separate_chains = T)
ms=rstan::extract(fit)
head(ms$x_infected)
x_infected=ms$x_infected
fi <- function(i){ # i番目の発症者が感染源の確率
mean(apply(x_infected,1,function(x) which.min(x)==i))
}
data.frame(p=round(sapply(1:n,fi),2))

201 :卵の名無しさん:2020/05/27(水) 17:41:13.27 ID:uX2xSEBS.net
> data.frame(p=round(sapply(1:n,fi),2))
p
1 0.26
2 0.18
3 0.18
4 0.13
5 0.13
6 0.13

202 :卵の名無しさん:2020/05/27(水) 17:41:42.49 ID:uX2xSEBS.net
JAGSだと
library(rjags)
cat('
model{
ln_par1 = 1.434065 # 潜伏期間対数正規分布パラメータ
ln_par2 = 0.6612
# 潜伏期間
for(i in 1:n){
x_incub[i] ~ dlnorm(ln_par1,ln_par2)
}
# 感染日(一人目の発症日:0)
x_infected[1]= -x_incub[1]
for(i in 2:n){
x_infected[i] = sum(t[1:(i-1)]) - x_incub[i]
}
}',file='tmp.txt')
t=c(1,0,1,0,0)
n=length(t)+1
dataList=list(t=t,n=n)
jagsModel=jags.model('tmp.txt',data=dataList, n.chains=4,n.adapt=5e3)
update(jagsModel)
codaSamples=coda.samples(jagsModel,n.iter=1e5,thin=1,var=c('x_infected'))
x_infected=as.matrix(codaSamples)
fi <- function(i){ # i番目の発症者が感染源の確率
mean(apply(x_infected,1,function(x) which.min(x)==i))
}
data.frame(p=round(sapply(1:n,fi),2))

203 :卵の名無しさん:2020/05/27(水) 17:44:39.93 ID:uX2xSEBS.net
> data.frame(p=round(sapply(1:n,fi),2))
p
1 0.20
2 0.17
3 0.17
4 0.15
5 0.15
6 0.15


> WhoInfectedFirst(c(1,0,1,0,0)) # 翌日2人発症 翌々日3人発症
p
1 0.26
2 0.18
3 0.18
4 0.13
5 0.13
6 0.13

多数決でStanの値を採用しよう。

204 :卵の名無しさん:2020/05/27(水) 17:46:07.20 ID:uX2xSEBS.net
発症した順が必ずしも感染順ではないので、
職員が発症しても責めたりせずに悪いのは春節ウェルカムした安倍のせいと心をまとめよう。

205 :卵の名無しさん:2020/05/28(木) 17:57:18.03 ID:CdrIPYow.net
# 武漢大量検査
fit=PCRs5a(6500000,218,SEN=0.6,SD1=0.2,SPC=0.999,SD2=0.001,
iter=1e5,warmup=2e4,thin=10,chain=1)$fit
print(fit,digits=7,prob=c(0.025,0.5,0.975),pars=c('spc','sen','prev','p'))
stan_dens(fit, separate_chains = T)
stan_plot(fit)
stan_ac(fit)
stan_trace(fit)
ms=rstan::extract(fit)
density2D(ms$sen,ms$spc)
summary(ms$p*1e7) ; MODE(ms$p*1e7)[1] ; hdi(ms$p*1e7)[1:2]

206 :卵の名無しさん:2020/05/28(木) 17:58:09.17 ID:CdrIPYow.net
> print(fit,digits=7,prob=c(0.025,0.5,0.975),pars=c('spc','sen','prev','p'))
Inference for Stan model: 451fbbe263cf71a87ea567fe0852d645.
1 chains, each with iter=100000; warmup=20000; thin=10;
post-warmup draws per chain=8000, total post-warmup draws=8000.

mean se_mean sd 2.5% 50% 97.5% n_eff Rhat
spc 0.9999755 0.0000001 0.0000074 0.9999644 0.9999742 0.9999920 8082 1.00007
sen 0.4561154 0.0025058 0.2177783 0.0776906 0.4454970 0.8752057 7553 1.00002
prev 0.0000336 0.0000009 0.0000767 0.0000007 0.0000186 0.0001547 8059 1.00005
p 0.0000341 0.0000000 0.0000023 0.0000296 0.0000341 0.0000388 7840 0.99988

> summary(ms$p*1e7) ; MODE(ms$p*1e7)[1] ; hdi(ms$p*1e7)[1:2]
Min. 1st Qu. Median Mean 3rd Qu. Max.
258 325 341 341 356 433
x
342.03
lower upper
296.90 388.22

207 :卵の名無しさん:2020/05/28(木) 18:02:34.43 ID:CdrIPYow.net
検査は900万人らしいから最終的な陽性者数の95%信頼区間は267-349と出てきたな。


> summary(ms$p*9e6) ; MODE(ms$p*9e6)[1] ; hdi(ms$p*9e6)[1:2]
Min. 1st Qu. Median Mean 3rd Qu. Max.
233 293 307 307 320 390
x
307.83
lower upper
267.21 349.40

208 :卵の名無しさん:2020/05/30(土) 10:34:55.69 ID:eqmXwXuQ.net
>>182
乱数発生の代わりに数値積分で計算

gt = 2 # generation time (infection interval)
mu = 1.434065
sg = 0.6612
# 差のpdfの公式
# pdf1 <- function(x) dlnorm(x,mu,sg)
# pdf2 <- function(y) dlnorm(y,mu,sg)
# ∫[-∞,∞] pdf1(x+y)*pdf2(y) dy
f <- function(x,y) dlnorm(x+y,mu,sg)*dlnorm(y,mu,sg)
vf=Vectorize(f,vectorize.args = 'y')
pdf <- function(x) integrate(function(y) vf(x,y),
rel.tol = 1e-14,-Inf,Inf)$value
pdf=Vectorize(pdf)
curve(pdf(x),-30,30)
cdf <- function(x) integrate(pdf,x,Inf,rel.tol = 1e-14)$value
cdf(gt)
# 乱数発生との比較
c=rlnorm(1e6,mu,sg)
d=rlnorm(1e6,mu,sg)
hist(c-d, freq=F,breaks=200,ylim=c(0,0.11),col='skyblue',
xlim=c(-30,30),ann=F,axes=F) ; axis(1)
curve(pdf(x),add=T)
mean(c-d > 2)

209 :卵の名無しさん:2020/05/30(土) 10:50:01.68 ID:eqmXwXuQ.net
gt = 2 # generation time (infection interval)
mu = 1.434065
sg = 0.6612

# 差のpdfの公式
# pdf1 <- function(x) dlnorm(x,mu,sg)
# pdf2 <- function(y) dlnorm(y,mu,sg)
# ∫[-∞,∞] pdf1(x+y)*pdf2(y) dy
f <- function(x,y) dlnorm(x+y,mu,sg)*dlnorm(y,mu,sg)
vf=Vectorize(f,vectorize.args = 'y')
pdf <- function(x) integrate(function(y) vf(x,y),
rel.tol = 1e-14,-Inf,Inf)$value
pdf=Vectorize(pdf)
curve(pdf(x),-30,30)
cdf <- function(x) integrate(pdf,x,Inf,rel.tol = 1e-14)$value
cdf(gt)
# 発症間隔を変化させてグラフ化
gts=seq(0,14,by=0.5)
plot(gts,sapply(gts,cdf),type='l',xlab='発症間隔(日)',
ylab='逆順感染確率',las=1)
#
c=rlnorm(1e6,mu,sg)
d=rlnorm(1e6,mu,sg)
hist(c-d, freq=F,breaks=200,ylim=c(0,0.11),col='skyblue',
xlim=c(-30,30),ann=F,axes=F) ; axis(1)
curve(pdf(x),add=T)
mean(c-d > 2)

210 :卵の名無しさん:2020/06/01(月) 17:57:09.41 ID:OULqunq+.net
今日のID:nu4+jSn4

211 :卵の名無しさん:2020/06/01(月) 20:31:14.88 ID:nu4+jSn4.net
>>210
ゴルゴ問題の答が出せるように勉強したのか?

212 :卵の名無しさん:2020/06/26(金) 17:08:21.56 ID:vSOmQn7C.net
"
拳銃を一発撃ったときに、
狙った相手を撃ち殺す確率は、
Aは 1/3、Bは 1/2(50%)、Cは 1/1(100%)とします。
なお、この確率は、全員が知っているものとします。
拳銃を撃つ順番は、A、B、Cの順番で、
以降は最後の一人が生き残るまでこの順番を繰り返すものとします。
A、B、Cは拳銃を撃つときに誰を狙っても良いこととします。
ただし、一発で二人を狙うことはできません。
A、B、Cの生き残る確率を求めなさい。
"

213 :卵の名無しさん:2020/06/26(金) 17:08:35.96 ID:vSOmQn7C.net
Duel <- function(
pa=1/3,
pb=1/2,
pc=1/1,
k=1e5
){

qa=1-pa # probability of dead ; alive
qb=1-pb
qc=1-pc

# simulation of 3 alive to 2 alive
# each shoots at the superior sniper
# Hence,A shoots C -> B shoots C -> C shoots B
f3 <- function(){
a=b=c=1
bshoot=FALSE # is next shooter B?
while(a+b+c==3){
c=rbinom(1,1,qa) # A shoots C
if(c==0) bshoot=TRUE # if A kills C, next shooter is B
c=rbinom(1,1,qb) # B shoots C
if(c==1) b=rbinom(1,1,qc) # if C alive, C shoots B
}
return(list(abc=c(a,b,c),bshoot=bshoot))
}

214 :卵の名無しさん:2020/06/26(金) 17:08:51.89 ID:vSOmQn7C.net
# simulation of 2 alive to 1 alive
# Notice who has the right to shoot
f2 <- function(){
re3=f3() # simulation to 2 suvivors
a=re3$abc[1] # 1 1
b=re3$abc[2] # 1 0
c=re3$abc[3] # 0 1
while(a+b+c==2){ # while 2 alive
if(c==0){ # when C dead
if(re3$bshoot){ # when A killed C, B can shoot A
a=rbinom(1,1,qb)
if(a==0) return(c(a,b,c))
}
else{ # when B killed C
b=rbinom(1,1,qa) # A can shoot B
if(b==0) return(c(a,b,c))
}
}
else{ # when C alive (C killed B, C shot at superior B)
c=rbinom(1,1,qa) # A can shoot C
if(c==0) return(c(a,b,c)) # if A killed C
a=rbinom(1,1,qc) # when A missed C,C can shoot A
if(a==0) return(c(a,b,c))
}
}
}
re2=replicate(k,f2())
return(apply(re2,1,mean))
}
Duel(1/3,1/2,1)
Duel(0.3,0.4,0.5)

215 :卵の名無しさん:2020/06/28(日) 08:05:03.04 ID:uvFNh4/q.net
# Debugged verision


rm(list=ls()) # clear workspace

p=c(1/3,1/2,1) # killing probablity
q=1-p # survival probability

# Three survivors to two survivors
f32 <- function(init=1){
abc=c(1,1,1) # dead or alive
n=length(abc) # initial survivors 3
s=sum(abc) # current survivors
sh=init # initial shooter
while(s==n){ # while 3 survivors
tmp=p
tmp[sh]=0 # set shooter for 0 probability (could be negative)
target=which.max(tmp) # target : the superior sniper
abc[target]=rbinom(1,1,q[sh]) # target dead(0) or alive(1)
# next shooter : if next sniper alive next index, otherwise survived sniper
sh=ifelse(abc[sh%%n+1]==1,sh%%n+1,(1:n)[-c(sh,target)])
s=sum(abc) # how many surviors left
}
list(abc=abc,sh=sh)
}
# demo
f32()
apply(replicate(1e5,f32()$abc),1,mean)

216 :卵の名無しさん:2020/06/28(日) 08:05:24.51 ID:uvFNh4/q.net
# Two survivors to one survivor
f21 <- function(){ # Three survivors to 2 survivor
re32=f32() # two surviors & next shooter
abc=re32$abc # two survivor
sh=re32$sh # shooter
sv=which(abc==1) # index of two suvivor
target=sv[sv!=sh] # index of target
s=sum(abc)
while(s==2){ # while two survivors, mutual shooting
abc[target]=rbinom(1,1,q[sh]) # target dead(0) or alive(1)
s=sum(abc) # how many surviors left
tmp=target # exhange shooter for target
target=sh
sh=tmp
}
abc
}
f21()
apply(replicate(1e5,f21()),1,mean)

217 :卵の名無しさん:2020/07/05(日) 18:42:40.47 ID:T+5emEsp.net
rm(list=ls())

mu=0.58 # mean of reproductive number
size=0.45 # dispersion parameter
(prob = size/(size+mu)) # its probability
Rt=rnbinom(1e5,size=size,mu=mu) # random numbers of negative binomial distribution
hist(Rt,breaks = 'scott',freq=F,ann=F) # show its histgram
sim <- function(n=10){ # simulation
infectee=0 # initial value
while(infectee!=n){ # while infectee is unequal to n
infector=sample(n,1) # prior discrete uniform distribution of infector number
infectee=sum(sample(Rt,infector)) # total number of infectee
}
return(infector) # when n infectee, return infector number
}
spreader=replicate(1e5,sim()) # simulation & calculation
hist(spreader,freq=F,ylab='',axes=F,breaks='scott') ; axis(1)
HDInterval::hdi(spreader)[1:2] # 95% credibility interval
BEST::plotPost(spreader) # graph with 95%CI & mean
quantile(spreader,c(0.025,0.5,0.975))
summary(spreader)
sum(spreader==1)/length(spreader) # the probability of single super-spreader

218 :卵の名無しさん:2020/07/05(日) 18:43:03.70 ID:T+5emEsp.net
> quantile(spreader,c(0.025,0.5,0.975))
2.5% 50% 97.5%
4 8 10
> summary(spreader)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 7.000 8.000 8.039 10.000 10.000
> sum(spreader==1)/length(spreader) # the probability of single super-spreader
[1] 0.0016

219 :卵の名無しさん:2020/07/05(日) 20:04:10.52 ID:T+5emEsp.net
デバッグ版

R=0.58 # mean of reproductive number
k=0.45 # dispersion parameter
(prob = k/(k+R)) # its probability
Rt=rnbinom(1e5,k,mu=R) # random numbers of negative binomial distribution
hist(Rt,breaks = 'scott',freq=F,ann=F) # show its histgram
sim <- function(n=10){ # simulation
infected=0 # initial value
while(infected!=n){ # while infected is unequal to n
infector=sample(n,1) # prior discrete uniform distribution of infector number
infectee=sum(sample(Rt,infector)) # number of infectee
infected=infectee+infector # number of infected
}
return(infector) # when n infected, return infector number
}
spreader=replicate(1e5,sim()) # simulation & calculation
hist(spreader,freq=F,ylab='',axes=F,breaks='scott') ; axis(1)
HDInterval::hdi(spreader)[1:2] # 95% credibility interval
BEST::plotPost(spreader) # graph with 95%CI & mean
summary(spreader)
sum(spreader==1)/length(spreader) # the probability of single super-spreader

220 :卵の名無しさん:2020/07/05(日) 20:04:14.42 ID:T+5emEsp.net
まあ、パーティー中に感染させる人数に再生産数を流用していいかは疑問ではあるが、

実効結果は

https://i.imgur.com/ApDSW1J.png

95% CI
> HDInterval::hdi(spreader)[1:2] # 95% credibility interval
lower upper
3 9

中央値、平均値、四分位値
> summary(spreader)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 6.000 7.000 6.844 8.000 10.000

1人のスーパースプレッダーの確率
> sum(spreader==1)/length(spreader) # the probability of single super-spreader
[1] 0.00104

221 :卵の名無しさん:2020/07/07(火) 16:20:43.89 ID:vMNjk2cp.net
# n種類のガチャからm種類を集めるまでの期待値
collector <- function(n=100,m=80,print=TRUE){
library(gmp)
x=(n-m+1):n
x=as.bigq(x)
y=sum(n/x)
if(print) print(y)
return(asNumeric(y))
}
collector(5,4)
collector(100,80)

222 :卵の名無しさん:2020/07/09(木) 21:20:16.36 ID:N2v3KqqG.net
library(randtests)
DEL <- permut(1:4,3,function(x) print(paste0(x,collapse = ''),quote=F))

223 :卵の名無しさん:2020/07/10(金) 23:07:16.57 ID:1U5aVO+X.net
まじで、エクセル、できればLibreOffice で出来る
医療統計の本を出して欲しい、この先生なら出来る。

224 :卵の名無しさん:2020/07/10(金) 23:13:07.04 ID:Fs8YjPFQ.net
自分で、この先生とか言うなよ
恥ずかしい奴だな

225 :卵の名無しさん:2020/07/13(月) 21:47:22.50 ID:brmpmlYq.net
リアル223からです、数式を記載されている方とは別人です。

226 :卵の名無しさん:2020/07/14(火) 17:33:19.37 ID:V6RZOqwd.net
>>223
エクセルのソルバーなんて使えたものじゃないね。
エクセルはグラフも貧弱だし。
医療統計の本なら朝倉から丹波某が沢山書いた本が沢山でているよ。
ベイズはWINBUGの話で古いけど。

227 :卵の名無しさん:2020/07/18(土) 23:13:50.16 ID:4YqdABa6.net
"
容量8Lの袋と容量5Lの袋を使って池の水を丁度4L集めたい。
袋に目盛りはついていません。
袋から袋への移し替えは全量で行います。
池からとる水の量や池に捨てる水の量には制限はありません。
最初に片方に満たした作業を1回目として
丁度4Lを集めるのに最低何回の移動が必要か?
"

228 :卵の名無しさん:2020/07/18(土) 23:14:05.95 ID:4YqdABa6.net
abura <- function(
a7=8,
b3=5,
c5=4){

# starting from the bigger pitcher
movea7 <- function(xy){ # start from c(a7,0)
x=xy[1] ; y=xy[2]
# x==a7
if(x==a7) re=c(a7-(b3-y),b3)
# x==0
if(x==0) re=c(a7,y)
# y==b3
if(y==b3) re=c(x,0)
# y==0
if(y==0 & x!=a7){
if(x>=b3) re=c(x-b3,b3)
else re=c(0,x)
}
return(re)
}

STATUS=status=c(a7,0)
i=1
while(!identical(status,c(0,0))){#
i=i+1
status=movea7(status)
STATUS=rbind(STATUS,status)
}
rownames(STATUS)=1:nrow(STATUS)
colnames(STATUS)=c(paste0(a7,'L'),paste0(b3,'L'))
(Bigger=STATUS)

229 :卵の名無しさん:2020/07/18(土) 23:14:23.30 ID:4YqdABa6.net
# starting from the smaller pitcher
moveb3 <- function(xy){ # start from c(0,b3)
x=xy[1] ; y=xy[2]
if(y==b3){
if(x<=(a7-b3)) re=c(x+b3,0)
else re=c(a7, b3-(a7-x))
}
if(y==0) re=c(x,b3)
if(x==a7) re=c(0,y)
if(x==0) re=c(y,0)
return(re)
}

STATUS=status=c(0,b3)
i=1
while(!identical(status,c(0,0))){ # stop at c(5,0) for solution
i=i+1
status=moveb3(status)
STATUS=rbind(STATUS,status)
}
rownames(STATUS)=1:nrow(STATUS)
colnames(STATUS)=c(paste0(a7,'L'),paste0(b3,'L'))
(Smaller=STATUS)

min_Bigger=min(which(apply(Bigger,1,function(x) c5 %in% x)))
min_Smaller=min(which(apply(Smaller,1,function(x) c5 %in% x)))

list(Bigger=Bigger,Smaller=Smaller,
min_Bigger=min_Bigger,min_Smaller=min_Smaller)
}

230 :卵の名無しさん:2020/07/26(日) 10:46:35.07 ID:sQTZfadO.net
'%&%' <- function(x,y) paste0(x,y)

> '√2 =' %&% sqrt(2) %&% ', π = ' %&% pi
[1] "√2 =1.4142135623731, π = 3.14159265358979"


random <- function(n,char=c(LETTERS,letters,0:9)){
re=paste0(sample(char,n),collapse='')
cat(re,'\n')
invisible(re)
}
> random()
ujbDVK8pEtsNFTAo1BlkZP72cXRHrQvI0WdMmGyxOn3qz5awLhCg6S9eYJU4if

231 :卵の名無しさん:2020/08/04(火) 21:12:57.26 ID:SiNiiw+2.net
onCone <- function(p,q){ # (p,q) any figure on cone
x=sqrt(1-q^2)/pi*sin(pi*p/sqrt(1-q^2))
y=q
z=sqrt(1-q^2)/pi - sqrt(1-q^2)/pi *cos(pi*p/sqrt(1-q^2)) + q
list(x=x,y=y,z=z)
}

232 :卵の名無しさん:2020/08/05(水) 16:36:41.12 ID:vZG88Q7w.net
oncone <- function(p,q,α=pi/6){ # (p,q) 展開図上の座標、頂点の角度=2α
PQ=sqrt(p^2+q^2)
β=pi*sin(α)
θ=atan(p/q)
rdash=PQ*β/pi
γ=PQ*θ/rdash
x=rdash*sin(γ)
y=PQ/(tan(α)*sqrt(1+tan(α)^-2))
z=rdash*(1-cos(γ))
c(x=x,y=y,z=z)
}

https://i.imgur.com/qOojo9N.png

233 :卵の名無しさん:2020/08/06(木) 07:04:19.79 ID:1+RzuAJZ.net
numlockキーをbackspaceキーに変更するレジストリ(要再起動)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,0e,00,45,00,00,00,00,00

ソースは
https://www.souichi.club/technology/numlock-on/

234 :卵の名無しさん:2020/08/09(日) 22:02:52.31 ID:nZS47/5e.net
oncone <- function(p,q,α=40*pi/180){ # (p,q) 展開図上の座標、頂点の角度=2α
OA=sqrt(p^2+q^2)
θ=Arg(p+1i*q) # == atan2(p+1i*q)
β=pi*sin(α) # π*r=R*β ; r=R*sin(α)
rdash=OA*sin(α) # r'== OA*β/π, r'*π == OA*β : hemi-circle==arc(B-c)
δ=(pi/2-θ)/sin(α) # r'*δ == OA*(π/2-θ) ; δ == OA*(π/2-θ)/r'  
x=rdash*sin(δ) # Re(E)
y=rdash/tan(α) # tan(α)=r'/y
z=rdash-rdash*cos(δ) # IM(E-B) ; rdash+rdash(cos(π-δ))
c(x=x,y=y,z=z)
}

https://i.imgur.com/Nq1xRAc.png

235 :卵の名無しさん:2020/08/17(月) 22:48:07.01 ID:v42vnrN1.net
#原子数=放射能/崩壊定数=放射能/(log2/半減期)=放射能*半減期*log2
#放射能が同じなら原子数∝半減期

cesium_now <- function(Date=NULL,RCs134=1,RCs137=1,TCs134 = 2.0652,TCs137 = 30.16171){
t=ifelse(is.null(Date),as.numeric((Sys.Date()-as.Date("2011/3/11"))/365.2425)
,as.numeric(as.Date(Date)-as.Date("2011/3/11"))/365.2425)
# mol ratio
cs <- RCs134*TCs134*(1/2)^(t/TCs134) + RCs134*TCs137*(1/2)^(t/TCs137)
cs0 <- RCs134*TCs134 + RCs134*TCs137
ratio=cs/cs0
# radioavtivity ratio
# decay constant = log(2)/half-life
# ratioactivity ∝ decay constant * mol
CS <- (1/2)^(t/TCs134) + (1/2)^(t/TCs137)
CS0 <- TCs134 + TCs137
Ratio=CS/CS0
list(year=t,mol_ratio=ratio,radioactivity_ratio=Ratio)
}
cesium_now()
cesium_now(NULL,1,1,2,30)

# 放射能比=1:1
TCs134 <- 2.0652 # 半減期(年)
TCs137 <- 30.16171
CS <- function(t) (1/2)^(t/TCs134) + (1/2)^(t/TCs137)
curve(CS(x),0,30)
uniroot(function(t,u0=1/2) CS(t)/CS(0)- u0, c(0,30))$root

236 :卵の名無しさん:2020/08/22(土) 07:22:17.76 ID:d8M92xSQ.net
# 問題「4/5より大きく5/6より小さい分数で、分母がいちばん小さい分数はなに?」
fn <- function(lo=4/5,up=5/6){
i=1
flg=FALSE
while(flg==FALSE){
for(j in 1:ceiling(i*up)){
flg = lo<j/i & j/i<up
if(flg==TRUE){
ans=paste0(j,'/',i)
break
}
}
i=i+1
}
cat(ans)
invisible(c(j,i))
}
fn()
fn(15/17,177/200)
# πの近似分数
fn(355/113,22/7)

237 :卵の名無しさん:2020/09/27(日) 00:37:32.25 ID:ZaZXs1n5.net
電話番号0531454900の詳細情報 - 電話番号検索
http://web.archive.org/web/20191110142958/https://www.jpnumber.com/numberinfo_0531_45_4900.html

238 :卵の名無しさん:2020/12/10(木) 21:17:39.06 ID:bHgC/hNU.net
https://i.imgur.com/A2YWEIJ.png

VGB=integral(function(x) pi*green(x)^2, -r,b0) # volume green&blue
VR=integral(function(x) pi*red(x)^2, b0,a+R) # volume red

AG=integral(function(x) 2*pi*green(x), -r,b0) # area green
AB=integral(function(x) 2*pi*blue(x),b0,c+s) # area blue
AR=integral(function(x) 2*pi*red(x)^2, c+s,a+R) # area red

239 :卵の名無しさん:2020/12/29(火) 00:31:19.09 ID:RkgAFAj8.net
エセ医者がようやるわ。

240 :卵の名無しさん:2020/12/29(火) 07:35:14.53 ID:v/EM6r6h.net
>>239
では、同業者の意見を聞いてみましょう。

https://egg.5ch.net/test/read.cgi/hosp/1592662437/73

73 卵の名無しさん sage 2020/06/23(火) 13:24:47.79 ID:riQXI/fH
宮廷卒だけど、一括りに医師免許と言ってるが、私大卒など医者とは思ってへんよ
私大入学というインチキを経由したイシャモドキが、あんま調子のんなや

241 :卵の名無しさん:2020/12/29(火) 09:55:53.10 ID:RkgAFAj8.net
自演w

242 :卵の名無しさん:2020/12/29(火) 09:56:56.13 ID:RkgAFAj8.net
面白いねたしかに
AIみたいに定型文かコピペしか送ってこないんだもん

243 :卵の名無しさん:2020/12/29(火) 10:03:17.22 ID:RkgAFAj8.net
じゃあそんな君にこれをプレゼント!

うりゅうひろゆきの本スレにようこそ!
このウンコスレは基本的にさらしアゲて使用します!
ココは医師真似事務員ジイさんが、医師妬みの挙句、テメェで勝手に自称で医科歯科大を卒業した医師って設定で
妄想願望日記を発表するスレです
お医者さんのマトモなレスなど全く不要!
ゴミ箱まがいの公衆便所掃き溜め痰壷下品スレとして使用しましょうね
そんなわけで、いまだ懲りない恥さらし(自称)医科歯科事務員ジジイ登場〜〜

│      彡川川川三三三ミ〜  プウゥ〜ン
|      川|川/  \|〜 ポワ〜ン    ________
|     ‖|‖ ◎---◎|〜        /
|     川川‖    3  ヽ〜      < 僕はうりゅうひろゆき
|     川川   ∴)д(∴)〜       \________
|     川川      〜 /〜 カタカタカタ
|     川川‖    〜 /‖ _____
|    川川川川___/‖  |  | ̄ ̄\ \
|      /       \__|  |    | ̄ ̄|
|     /  \医科歯科     |  |    |__|
|     | \      |つ   |__|__/ /
|     / 医師うらやましいぜ・・ | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
       よし、医科歯科の医者と称して
       私立のお医者様を攻撃だ!なんたって、医科歯科の看板借りてんだからな
       え?証明???自称だから医科歯科の学生証、卒業証書あるわけねえよ
       同期の医師あげてみろ、ったて、そもそも医師じゃねえし居ねえよバカ
       でも病院でもらった、医科歯科の封筒はもってま〜す!これを証拠にしてやるぜ
       専門医?欲しいけど・・いいや!そんなの必要ねえ! 俺は事務員だし

244 :卵の名無しさん:2021/01/28(木) 15:59:37.22 ID:RbXTChKG.net
某院でn人の患者感染。死亡率pとすると
予想される死亡者数とその95%信頼区間はいくらになるか?
"
p=0.20
n=100
(CI=HDInterval::hdi(qbinom,size=n,prob=p))
y=dbinom(0:n,n,p)
plot(0:n,y,type='h',bty='l')
sum(dbinom(CI[1]:CI[2],n,p))

245 :卵の名無しさん:2021/02/01(月) 18:02:03.90 ID:e24XNIzt.net
「Googleドライブ」フォルダをDドライブにする

http://win10faq.blog.jp/archives/2208311.html

246 :卵の名無しさん:2021/02/11(木) 08:40:29.92 ID:Sfff+JMX.net
ウリュウのジジイ、5chでも社会でもまるで相手にされず!

247 :卵の名無しさん:2021/05/03(月) 20:55:00.69 ID:ukTrFNeY.net
1 meter * 1 meter * 1 milli meter (water) = 1kg

1 mmHg柱/m2 = 13.6kg重/m2
13.6*9.8 N/m2 = 133.3 Pa =1.33hPa
1 hPa = 1/1.33 mmHg柱 = 0.752 mmHg柱

1 mmH20 = 1 kg重/m2
1*9.8 N/m2 = 9.8 Pa = 0.98 hPa
1 hPa = 1/0.98 = 1.02 mmH2O

248 :卵の名無しさん:2021/05/17(月) 17:24:47.71 ID:vLTAoLk6.net
https://news.mynavi.jp/article/20160317-a313/

about:config

privatebrowsing.autostartと入力して設定対象を絞り込み

249 :卵の名無しさん:2021/06/16(水) 09:36:16.08 ID:Iaydx6qX.net
ほんと庭なしバカ安達はくそ犬はうるせーわ道路でばかでかい声で会話するわやりたい放題
家族みんなデブだし

250 :卵の名無しさん:2021/06/25(金) 06:15:51.74 ID:9PeLNEbV.net
【HKEY_CURRENT_USER > Control Panel > Personazation > Desktop Slideshow】

251 :卵の名無しさん:2021/06/25(金) 17:47:33.56 ID:OGI6KuDR.net
尿瓶ジジイ=トケジ=ウリュウ=ニセ内視鏡医 笑

252 :卵の名無しさん:2021/07/03(土) 07:35:22.04 ID:C912OJj6.net
tryCatch has a slightly complex syntax structure. However, once we understand the 4 parts which constitute a complete tryCatch call as shown below, it becomes easy to remember:

expr: [Required] R code(s) to be evaluated

error : [Optional] What should run if an error occured while evaluating the codes in expr

warning : [Optional] What should run if a warning occured while evaluating the codes in expr

finally : [Optional] What should run just before quitting the tryCatch call, irrespective of if expr ran successfully, with an error, or with a warning

tryCatch(
expr = {
# Your code...
# goes here...
# ...
},
error = function(e){
# (Optional)
# Do this if an error is caught...
},
warning = function(w){
# (Optional)
# Do this if an warning is caught...
},
finally = {
# (Optional)
# Do this at the end before quitting the tryCatch structure...
}
)

253 :卵の名無しさん:2021/07/03(土) 07:36:30.21 ID:C912OJj6.net
log_calculator <- function(x){
tryCatch(
expr = {
message(log(x))
message("Successfully executed the log(x) call.")
},
error = function(e){
message('Caught an error!')
print(e)
},
warning = function(w){
message('Caught an warning!')
print(w)
},
finally = {
message('All done, quitting.')
}
)
}

254 :卵の名無しさん:2021/07/04(日) 06:05:02.42 ID:MvYVZ7Z5.net
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]

255 :卵の名無しさん:2021/07/06(火) 19:26:40.83 ID:7oMfliWM.net
古い低スペックPCに、Insider Programの正規版でWindows 11を入れてみました。

↓ Windows Insider Program公式サイト
https://insider.windows.com/ja-jp/

<レジストリの変更>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Selection
UIBranch ← Dev
UIContentType ←Mainline
UIRing ← External
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability
BranchName ← Dev
ContentType ←Mainline
Ring ← External
HKEY_LOCAL_MACHINE\SYSTEM\Setup
新しいキー LabConfig を追加
LabConfigに以下のDWORD(32ビット値)を追加
BypassTPMCheck ← 1
BypassSecureBootCheck ← 1

Windows Updateでエラー0cx190012eが発生した場合、
C:\Users\Default\AppData\Local\Microsoft\Windows\WSUS
からsetupconfig.iniを削除します。

AppraiserRes.dllのダウンロードサイト
https://github.com/CodeProf14/Fix-TPM
C:\$WINDOWS.~BT\SourcesのDLLと置き換える

256 :卵の名無しさん:2021/08/08(日) 22:23:50.74 ID:DBdOU9fb.net
'%IN%' <- function(v,M) any(rowSums(M == v[col(M)]) == ncol(M))
c(4,5,6) %IN% matrix(c(1,2,3,
4,5,6,
7,8,9),
nrow=3,ncol=3,byrow=TRUE)

257 :卵の名無しさん:2021/08/26(木) 18:32:55.73 ID:qkTk8DPf.net
>>1
【全スレに注意連絡】

医療空間で連携して悪質な行為をする創.価.学.会.員.に注意してください。

【創.価.学.会.員.が連携して特定の患者をいじめたり、嫌がらせ、ガスライティング、不審な診察や治療、病院に受診できなくさせたり、たらい回し】

そのようなことが絶対にないように、みんなで不審な学.会.員の医療従事者の行動を見守りましょう。

そしておかしなことがあれば、そのまま放置せず、各所に報告や通報、ネットなどにも声をあげていきましょう。

隠蔽されやすい連携した嫌がらせは、そのように表沙汰にすることで弱体化していきます。
みんなで声をあげて悪質な連携を阻止していきましょう。

関連スレッド↓
医療法人アイクレセント いなだ小児科・アレルギー科 【佐賀】2
https://itest.5ch.net/egg/test/read.cgi/hosp/1624113085
集団ストーカー自称おおせき
https://lavender.5ch.net/test/read.cgi/minor/1622387124/l50
佐賀大学医学部附属病院
https://egg.5ch.net/test/read.cgi/hosp/1622027754/l50

情報交換などはこのスレでもできます↓
◆◆◆◆◆◆◆ 医療空間での創.価.学.会 ◆◆◆◆◆◆◆
https://egg.5ch.net/test/read.cgi/hosp/1628326388/l50

情報のリークはこのスレにも出来ます↓
誰にも言えない事を吐くスレ
https://egg.5ch.net/test/read.cgi/hosp/1627796592/l50 hdkdl

258 :卵の名無しさん:2021/08/29(日) 23:14:57.19 ID:RCoITSyi.net
[R] retrieving object names passed indirectly to a function

https://stat.ethz.ch/pipermail/r-help/2010-September/252840.html

foo <- function(p1, p2) {
p1name <- deparse(substitute(p1))
p2name <- deparse(substitute(p2))

# The real function runs a simulation, but
# here we just confirm the object names
# and values passed as args
cat("passed", p1name, "with value", p1, "\n")
cat("passed", p2name, "with value", p2, "\n")
}

259 :卵の名無しさん:2021/10/30(土) 16:47:02.51 ID:k7cvh2/f.net
"
レミフェンタニルの添付文書には,BMIが25を超える肥満患者には,標準体重を用いた投与量の調整を行うことが推奨されている.
高齢者:血圧低下などの副作用があらわれやすいため,開始用量の半減など,
患者の全身状態を観察しながら投与量を決定
"
# 2mg/20mL lwr=0.25μg/kg/min upr=0.05/kg/min ideal BMI=22
Ultiva<-function(cm,kg,age,lwr=0.25,upr=0.50,conc=2000/20,bmi=22){
BMI=kg/(cm/100)^2
LBM=ifelse(BMI>25,bmi*(cm/100)^2,kg) # lean body mass
L=lwr*LBM*60/conc
U=upr*LBM*60/conc
Lower=ifelse(age<75,L,L/2) # mL/h
Upper=ifelse(age<75,U,U/2)
round(c(BMI=BMI,LBM=LBM,'L(mL/h)'=Lower,'U(mL/h)'=Upper),2)
}
Ultiva(167.5,77.5,33)
Ultiva(137.2,50.8,87)

"

260 :卵の名無しさん:2021/10/30(土) 16:47:07.75 ID:k7cvh2/f.net
持続投与量の目安は、セボフルランでは3-4 μg/kg/min、プロポフォールでは7.5 μg/kg/minと言われる。
添付文書:持続注入により投与する場合は、7μg/kg/分の投与速度で持続注入を開始する。
"

Eslax<-function(kg,sevo=FALSE,lwr=0.6,upr=0.9,conc=50e3/5){ # 50mg/5mL
precurarization=kg*0.03*1e3/conc
l=lwr*1e3*kg/conc # mL bolus
u=upr*1e3*kg/conc
L=ifelse(sevo,3*kg*60/conc,7*kg*60/conc) # on label
U=ifelse(sevo,4*kg*60/conc,7.5*kg*60/conc) # off label
cat('precararization(mL) =',precurarization,'\n')
cat('bolus(mL) =',l,'-',u,'\n')
cat('continuous(mL/h) =',L,'-',U,'\n')
}
Eslax(77.5,sevo=FALSE)
Eslax(50.8,sevo=TRUE)

261 :卵の名無しさん:2021/10/31(日) 21:39:49.32 ID:asgKs/eN.net
# Practically loading kg(mL/h) for 10 min and maintenance kg/10(ml/h)
Precedex<-function(kg,conc=200/50,lwr=0.2,upr=0.7,load=6){
I=kg*load/conc # 初期(10分)負荷(添付文書)
L=kg*lwr/conc # 維持下限(添付文書)
U=kg*upr/conc # 維持上限(添付文書)
i=kg*4/conc # 推奨初期負荷
m=kg*0.4/conc # 推奨維持
d=kg*0.1/conc # 譫妄予防
cat('sedation(mL/h) =',round(L,2),'-',round(U,2),'\n')
cat('delirium prevention(mL/h) =',round(d,2),'\n\n')
invisible(list(初期負荷=I,維持下限=L,維持上限=U,推奨初期負荷=i,推奨維持=m,譫妄予防=d))
}
Precedex(50)

> Precedex(50)
sedation(mL/h) = 2.5 - 8.75
delirium prevention(mL/h) = 1.25

262 :卵の名無しさん:2021/10/31(日) 21:40:12.06 ID:asgKs/eN.net
# pdfからcdfの逆関数を作ってhdiを表示させて逆関数を返す
# 両端での演算を回避 ∫[0,1]は∫[1/nxxx,1-1/nxx]で計算
pdf2hdi <- function(pdf,xMIN=0,xMAX=1,cred=0.95,Print=TRUE,nxx=1001){
xx=seq(xMIN,xMAX,length=nxx)
xx=xx[-nxx]
xx=xx[-1]
xmin=xx[1]
xmax=xx[nxx-2]
AUC=integrate(pdf,xmin,xmax)$value
PDF=function(x)pdf(x)/AUC
cdf <- function(x) integrate(PDF,xmin,x)$value
ICDF <- function(x) uniroot(function(y) cdf(y)-x,c(xmin,xmax))$root
hdi=HDInterval::hdi(ICDF,credMass=cred)
print(c(hdi[1],hdi[2]),digits=5)
if(Print){
par(mfrow=c(3,1))
plot(xx,sapply(xx,PDF),main='pdf',type='h',xlab='x',ylab='Density',col='lightgreen',bty='l')
legend('top',bty='n',legend=paste('HDI:',round(hdi,3)))
plot(xx,sapply(xx,cdf),main='cdf',type='h',xlab='x',ylab='Probability',col='lightblue',bty='l')
pp=seq(0,1,length=nxx)
pp=pp[-nxx]
pp=pp[-1]
plot(pp,sapply(pp,ICDF),type='l',xlab='p',ylab='x',main='ICDF',bty='l')
par(mfrow=c(1,1))
}
invisible(ICDF)
}

263 :卵の名無しさん:2021/10/31(日) 21:41:36.08 ID:asgKs/eN.net
# ベータ分布の差の分布

beta.diff<-function(r1,r2,n1,n2,a=1,b=1){
f <- function(x,y) dbeta(x+y,a+r1,b+n1-r1)*dbeta(y,a+r2,b+n2-r2)
vf=Vectorize(f,vectorize.args = 'y')
pdf <- function(x) integrate(function(y) vf(x,y),-1,1)$value
pdf=Vectorize(pdf)
invisible(pdf)
}
pdf=beta.diff(r1,r2,n1,n2)

264 :卵の名無しさん:2021/11/03(水) 13:49:42.44 ID:WyXoRruB.net
MAC2Sevo=function(MAC,age,N2O=0,MAC40sevo=1.8){
GOS=function(
age=85, # 年齢
FE_sevo=0.5, # 呼気セボフルラン濃度(%)
FE_N20=66.6){ # 呼気笑気濃度(%)

MAC40_sevo=MAC40sevo # 40歳セボフルランMAC(1.71,1.8,2.1と諸説あり)
MAC40_N2O=104 # 笑気MAC
MACage_sevo=MAC40_sevo*10^(-0.00269*(age-40))
MACage_N2O=MAC40_N2O*10^(-0.00269*(age-40))
MACage_total = FE_sevo/MACage_sevo + FE_N20/MACage_N2O
return(MACage_total) # 混合ガスのMAC
}
f=function(x) GOS(age,x,N2O) - MAC
f=Vectorize(f)
c('FEsevo(%)'=round(uniroot(f,c(0,5))$root,2))
}
MAC2Sevo(1.5,57)

265 :卵の名無しさん:2021/11/04(木) 06:15:33.44 ID:6I+CHuG0.net
# 年齢を設定してMACを笑気とセボフルレン濃度でMACをグラフ化
Age=87
GOS=function(
age=85, # 年齢
FE_sevo=0.5, # 呼気セボフルラン濃度(%)
FE_N20=66.6, # 呼気笑気濃度(%)
MAC40sevo=1.8){ # 40歳セボフルランMAC(1.71,1.8,2.1と諸説あり)
MAC40_sevo=MAC40sevo
MAC40_N2O=104 # 笑気MAC
MACage_sevo=MAC40_sevo*10^(-0.00269*(age-40))
MACage_N2O=MAC40_N2O*10^(-0.00269*(age-40))
MACage_total = FE_sevo/MACage_sevo + FE_N20/MACage_N2O
return(MACage_total) # 混合ガスのMAC
}
GOS=Vectorize(GOS)
sev=seq(0,3,by=0.1)
N2O=seq(0,70,by=1)
MAC=outer(sev,N2O,function(x,y)GOS(Age,x,y))
contour(sev,N2O,MAC,nlevels=50,
bty='l',xlab='Sevoflurane',ylab='nitrous oxide',main='MAC for age 87')
contour(sev,N2O,MAC,level=0.75,lwd=2,add=T)

266 :卵の名無しさん:2022/04/06(水) 10:23:07.52 ID:HkRaCX9n.net
f=\(n){
dat=c(0,rep(100,n-1))
m=mean(dat)
s=sd(dat)
50+(0-m)/s
}

nn=1000:5000
plot(nn,sapply(nn,f))

uniroot(f,c(1000,10000))
f(2501)
f(2502)

267 :卵の名無しさん:2022/04/07(木) 06:36:23.98 ID:Ou/qCTfb.net
calc = \(L,m,n){
f1 = \(x){
y = as.character(x)
strsplit(y,'') |> unlist() |> as.numeric()
}

f2 = \(x){
y = f1(x)
x%%n==0 & all(y==sort(y)) & sum(y)==m
}
x=((10^L-1)/9):(10^L-1)
x[sapply(x,f2)]
}

calc(3,16,2)
calc(5,24,3)

268 :卵の名無しさん:2022/04/09(土) 06:30:01.59 ID:mZjVxAsM.net
FF 83 F8 03 72

FF 83 F8 03 EB

269 :卵の名無しさん:2022/04/09(土) 16:45:12.95 ID:wXi20OuD.net
pH=7.32
pCO2=23
HCO3=16

pH_l=7.36
pH_u=7.44
pCO2_l=36
pCO2_u=44
HCO3_l=21
HCO3_u=27

if(pH<pH_l & pCO2<pCO2_l){
primary="metabolic acidosis"
expected_pCO2=40 + 1.2*(HCO3-24)
if(pCO2<expected_pCO2) additional= "secondary respiratory alkalosis")
if(pCO2>expected_pCO2) additional= "secondary respiratory acidosis")
}

if(pH>pH_u & pCO2>pCO2_u){
primary="metabolic alkalosis"
expected_pCO2=40 + 0.7*(HCO3-24)
if(pCO2<expected_pCO2) additional= "secondary respiratory alkalosis")
if(pCO2>expected_pCO2) additional= "secondary respiratory acidosis")
}

270 :卵の名無しさん:2022/04/09(土) 16:45:22.36 ID:wXi20OuD.net
if(pH<pH_l & pCO2>pCO2_u){
primary="respiratory aciosis"
status=NULL
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.1*(pCO2-40)
if(status=="chronic") expected_HCO3=24+0.4*(pCO2-40)
if(HCO3<expectedHCO3) additional="secondary metabolic acidosis")
if(HCO3>expectedHCO3) additional="secondary metabolic alkalosis")
}

if(pH>pH_u & pCO2<pCO2_l){
primary="respiratory alkalosis"
status=NULL
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.2*(40-pCO2)
if(status=="chronic") expected_HCO3=24+0.4*(40-pCO2)
if(HCO3<expectedHCO3) additional="secondary metabolic acidosis")
if(HCO3>expectedHCO3) additional="secondary metabolic alkalosis")
cat(paste(status,primary),'\n')
cat(additional)

271 :卵の名無しさん:2022/04/09(土) 16:45:58.04 ID:wXi20OuD.net
if(pH<pH_l & pCO2>pCO2_u){
primary="respiratory aciosis"
status=NULL
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.1*(pCO2-40)
if(status=="chronic") expected_HCO3=24+0.4*(pCO2-40)
if(HCO3<expectedHCO3) additional="secondary metabolic acidosis")
if(HCO3>expectedHCO3) additional="secondary metabolic alkalosis")
}

if(pH>pH_u & pCO2<pCO2_l){
primary="respiratory alkalosis"
status=NULL
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.2*(40-pCO2)
if(status=="chronic") expected_HCO3=24+0.4*(40-pCO2)
if(HCO3<expectedHCO3) additional="secondary metabolic acidosis")
if(HCO3>expectedHCO3) additional="secondary metabolic alkalosis")
cat(paste(status,primary),'\n')
cat(additional)

272 :卵の名無しさん:2022/04/09(土) 17:37:32.78 ID:wXi20OuD.net
Astrap <- \(pH,pCO2,HCO3){
pH_l=7.36
pH_u=7.44
pCO2_l=36
pCO2_u=44
HCO3_l=22
HCO3_u=26
if(pH_l<pH & pH<pH_u){
if(pCO2>pCO2_u){
primary="mixed respiratory acidosis"
additional="and metabolic alkalosis"
}
if(pCO2<pCO2_l){
primary="mixed respiratory alkalosis"
additional="and metabolic acidosis"
}
}

if(pCO2_l<pCO2 & pCO2<pCO2_u){
if(pH>pH_u){
primary="mixed metaboic alkalosis"
additional="and respiratory acidosis"
}
if(pH<pH_l){
primary="mixed metabolic acidosis"
additional="and respiratory alkalosis"
}
}

273 :卵の名無しさん:2022/04/09(土) 17:38:10.02 ID:wXi20OuD.net
if(pH<pH_l & pCO2<pCO2_l){
primary="primary metabolic acidosis"
expected_pCO2=40 + 1.2*(HCO3-24)
if(pCO2<expected_pCO2) additional= "secondary respiratory alkalosis"
if(pCO2>expected_pCO2) additional= "secondary respiratory acidosis"
}
if(pH>pH_u & pCO2>pCO2_u){
primary="primary metabolic alkalosis"
expected_pCO2=40 + 0.7*(HCO3-24)
if(pCO2<expected_pCO2) additional= "secondary respiratory alkalosis"
if(pCO2>expected_pCO2) additional= "secondary respiratory acidosis"
}
status=NULL
if(pH<pH_l & pCO2>pCO2_u){
primary="primary respiratory aciosis"
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.1*(pCO2-40)
if(status=="chronic") expected_HCO3=24+0.4*(pCO2-40)
if(HCO3<expected_HCO3) additional="secondary metabolic acidosis"
if(HCO3>expected_HCO3) additional="secondary metabolic alkalosis"
}
if(pH>pH_u & pCO2<pCO2_l){
primary="primary respiratory alkalosis"
if(HCO3_l<HCO3 & HCO3<HCO3_u) status="acute" else status="chronic"
if(status=="acute") expected_HCO3=24+0.2*(40-pCO2)
if(status=="chronic") expected_HCO3=24+0.4*(40-pCO2)
if(HCO3<expected_HCO3) additional="secondary metabolic acidosis"
if(HCO3>expected_HCO3) additional="secondary metabolic alkalosis"
}
cat(status,primary,'\n')
cat(additional)
}

274 :卵の名無しさん:2022/04/09(土) 17:38:59.63 ID:wXi20OuD.net
> Astrap(pH=7.23,pCO2=23,HCO3=16)
primary metabolic acidosis
secondary respiratory alkalosis
> Astrap(pH=7.54,pCO2=23,HCO3=17)
chronic primary respiratory alkalosis
secondary metabolic acidosis
> Astrap(pH=7.40, pCO2=23, HCO3=20)
mixed respiratory alkalosis
and metabolic acidosis
> Astrap(pH=7.40, pCO2=23, HCO3=35)
mixed respiratory alkalosis
and metabolic acidosis
> Astrap(pH=7.40, pCO2=23, HCO3=17)
mixed respiratory alkalosis
and metabolic acidosis

275 :卵の名無しさん:2022/04/26(火) 16:51:59.52 ID:aUc6q9el.net
>>1
【全スレ注意連絡】※告発内容はコピー自由カクサン希望


【裏で集団ストーカー犯罪を指示してる医師、稲田成安に気をつけて】


http://www.inada-kids.com/wordpress/wp-content/uploads/greeting.jpg

佐賀県のいなだ小児科・アレルギー科 の小児科医、稲田成安(いなだ しげやす)に気をつけてください

自分に批判的な医療従事者や患者、その他の人たちを、探偵やソウカガッカイの集団ストーカーを使って調べ上げて、嫌がらせをやらせて仕返し、弾圧してきます
あらゆる嫌がらせで自殺や自滅に追い込む工作を仕掛けてきます

(※ 5ちゃんねるでは「ソウカガッカイ」という言葉を漢字四字で投稿するとアクセス禁止になる事があるのでカタカナ表記にしてあります)

もし稲田による集団ストーカー犯罪にあったら、証拠を取り、周囲や各機関に声を上げていきましょう。

そうする事で集団ストーカー組織は弱体化していきます

詳細は、↓のスレ
【ソウカ在日】稲田成安(いなだ しげやす)
https://egg.5ch.net/test/read.cgi/hosp/1644311065/

いなだ小児科・アレルギー科 【佐賀】
https://egg.5ch.net/test/read.cgi/hosp/1622365146/-100

黒猫世(くろねこよ)
https://rio2016.5ch.net/test/read.cgi/police/1648800949/l50 gyhjoooo


「   いなだ小児科・アレルギー科   集団ストーカー犯罪  」で検索

276 :卵の名無しさん:2022/06/12(日) 19:47:04.91 ID:48n0Max4.net
rm(list=ls())
library(RcppAlgos)
pm=permuteGeneral(v=1:3,freqs=c(3,3,4))
n=nrow(pm)

f=\(x){
t1=(1:10)[x==1]
t2=(1:10)[x==2]
t3=(1:10)[x==3]
if(t1[1]>t2[1]){
temp=t1
t1=t2
t2=temp
}
list(t1,t2,t3)
c(paste(LETTERS[t1],collapse=''),paste(LETTERS[t2],collapse=''),
paste(LETTERS[t3],collapse=''))
}
ans=unique(t(apply(pm,1,f)))
print(head(ans,15),quote=FALSE)
print(tail(ans,15),quote=FALSE)

277 :卵の名無しさん:2022/06/12(日) 20:19:02.97 ID:48n0Max4.net
"
10人の子供(A,B,C,....,J)を3チームに割り当てる。
各チームは1人以上の子供が割り当てられる。
何通りの分け方があるか?

例.
(A) (J) (B,C,D,E,F,G,H,I)
(A,C) (H,I,J) (B,D,E,F,G)

"
rm(list=ls())
gr=expand.grid(1:8,1:8)
gr1=gr[rowSums(gr)<10,]
f=\(x) 10-sum(x)
gr2=cbind(gr1,apply(gr1,1,f))
gr3=unique(t(apply(gr2,1,sort)))

gr3
ans=apply(gr3,1,\(x) choose(10,x[1])*choose(10-x[1],x[2])/ length(unique(x)) )
sum(ans)
ans

278 :卵の名無しさん:2022/06/12(日) 20:25:08.35 ID:48n0Max4.net
"10人の子供(A,B,C,....,J)を3人、3人、4人のチームに割り当てる。
何通りの分け方があるか、列挙せよ"

rm(list=ls())
library(RcppAlgos)
pm=permuteGeneral(v=1:3,freqs=c(3,3,4))

f=\(x){
t1=(1:10)[x==1]
t2=(1:10)[x==2]
t3=(1:10)[x==3]
if(t1[1]>t2[1]){
temp=t1
t1=t2
t2=temp
}
list(t1,t2,t3)
c(paste(LETTERS[t1],collapse=''),paste(LETTERS[t2],collapse=''),
paste(LETTERS[t3],collapse=''))
}
ans=unique(t(apply(pm,1,f)))
print(head(ans,20),quote=FALSE)
print(tail(ans,20),quote=FALSE)

279 :卵の名無しさん:2022/06/12(日) 20:25:12.57 ID:48n0Max4.net
"
10人の子供(A,B,C,....,J)を3チームに割り当てる。
各チームは1人以上の子供が割り当てられる。
何通りの分け方があるか?

例.
(A) (J) (B,C,D,E,F,G,H,I)
(A,C) (H,I,J) (B,D,E,F,G)

"
rm(list=ls())
gr=expand.grid(1:8,1:8)
gr1=gr[rowSums(gr)<10,]
f=\(x) 10-sum(x)
gr2=cbind(gr1,apply(gr1,1,f))
gr3=unique(t(apply(gr2,1,sort)))

ans=apply(gr3,1,\(x) choose(10,x[1])*choose(10-x[1],x[2])/ length(unique(x)) )
sum(ans)
res=cbind(gr3,ans)
colnames(res)=NULL
rownames(res)=NULL
res

280 :卵の名無しさん:2022/08/15(月) 21:02:59.07 ID:WCPJCNZ4.net
多摩南部地域病院に入院した事あるけど看護師がクソ過ぎ
患者のことはどうでもよく自分達の仕事さえまわせればそれでいいって感じ
底意地の悪いクソ女看護師の清○桃○は要注意
そのうえ入院環境もクソ過ぎ
狭いトイレ、備品等もボロいものばかりで配慮が足りなさすぎる
病院自体のシステムも不親切だし二度と行きたくない
こんな病院は無いほうがいい
開業医もこんな病院紹介しないでほしい

281 :卵の名無しさん:2022/10/07(金) 07:26:02.86 ID:i93G7UfB.net
ganrikinto<-function(A=NULL,I=NULL,N=NULL,x=NULL){ # A:Principal I:Annual Interest N:months of repayment x:monthly repayment
if(is.null(I)){
I=uniroot(\(m) x-A*m/(1-(1+m)^(-N)),c(1e-12,1-1e-12))$root*12
return(c('Annual Interest'=I))
}
m=I/12
if(is.null(x)){
x=A*m/(1-(1+m)^(-N))
return(c('monthly repayment'=round(x,2)))
}
if(is.null(N)){
N=ifelse(x>A*m,log(x/(x-A*m))/log(m+1),Inf)
return(c('repayment period in months'=round(N,2)))
}
if(is.null(A)){
A=x/m*(1-(1+m)^(-N))
return(c('Principal'=round(A)))
}

}

282 :卵の名無しさん:2024/01/04(木) 05:47:47.73 ID:s7ncVxDB.net
f=\(n){
n1=n%%10
i=1
flg <- (n1*n1^i)%%10==n1
if(flg){ p=i
}else{
while(!flg & i<2024){
i=i+1
flg <- (n1*n1^i)%%10==n1
}
p=i
}
j=ifelse(2024%%p,2024%%p,p)
(n1^p)%%10
}
sapply(1:2024,f) |> table()

283 :卵の名無しさん:2024/01/04(木) 11:13:27.39 ID:mx4lFG6x.net
2024^2024
π^2024
の先頭の数字を算出

臨床医の嗜み:R言語での一般解を算出するコード
calc=function(m,n) floor(10^(n*log10(m) -floor(n*log10(m))))
calc(2024,2024)
calc(pi,2024)

284 :卵の名無しさん:2024/01/05(金) 07:22:34.13 ID:lKTSD30o.net
"
地球の公転周期は秒単位だと365日5時間48分46秒であるという
5時間48分46秒=20926秒
閏年は400年に97回
1日=86400秒
"
p=20926/86400 ; p
97/400 - p
8/33 - p
fn=\(x){
xp=x*p
fl=floor(xp)
ce=ceiling(xp)
dfl=abs(fl/x-p)
dce=abs(ce/x-p)
c(min(dfl,dce),ifelse(dfl<dce,fl,ce),x)
}
dat=t(sapply(1:40,fn))
rbind(dat[which.min(dat[,1]),])

dat=t(sapply(1:10000,fn))
rbind(dat[which.min(dat[,1]),])

n=seq(4,400,4)
dat=t(sapply(n,fn))
rbind(dat[which.min(dat[,1]),])

285 :卵の名無しさん:2024/01/05(金) 19:36:46.56 ID:Nm2/P+r6.net
"
短径20cm 長径24cmの楕円のピザを楕円弧の長さが等しいように3つの楕円扇形に分割する。
楕円扇形の面積が最大になるようにするにはどのように切ればよいか?
そのときの面積はいくつか?(答は整数値でよい)。

あらゆるリソースを用いてよい。


"
a=12
b=10
n=3
S=\(t1,t2) a*b/2*(t2-t1)
L=\(t1,t2) integrate(\(x) sqrt((-a*sin(x))^2+(b*cos(x))^2),t1,t2,abs.tol = 1e-24)$value
Lt=L(-pi,pi) ; Lt # 全周長
t12t2=\(t1) uniroot(\(x) L(t1,x)-Lt/n,c(t1,t1+pi),tol=1e-24)$root
t12S=\(t1) S(t1,t12t2(t1))
t12S=Vectorize(t12S)
curve(t12S,0,pi)
opt=optimize(t12S,c(-pi/2,pi/2),maximum = TRUE,tol=1e-24) ; opt
source('toolmini.R')
Plot(-a,a,zero=FALSE)
Ellip(0i,a,b,lty=3)
t1=opt$maximum ; t2=t12t2(t1)
tt=seq(t1,t2,length=100)
lines(a*cos(tt),b*sin(tt),lwd=2)
T1=a*cos(t1)+1i*b*sin(t1)
T2=a*cos(t2)+1i*b*sin(t2)
seg(0i,T1,lty=2,lwd=2)
seg(0i,T2,lty=2,lwd=2)
Angle(T1,0i,T2)

(pi*a*b - opt$obj)/2
S(t2,pi)

286 :卵の名無しさん:2024/01/06(土) 16:06:08.99 ID:YqxPaf+q.net
rm(list=ls())
par(bty='l')

calc=function(m=2024,n=2024) floor(10^(n*log10(m) -floor(n*log10(m))))
calc(2024,2024)
calc(pi,2024)
calc(exp(1),2024)

"
nを1以上2024以下の整数とする。
n^2024の先頭に現れる数字はなにが一番多いか?
頻度順に並べよ。
"
calc.top =\(n) sapply(1:n,calc) |> table() |> sort() |> rev()
re=calc.top(2024)
re
p=re/sum(re)
calc.top(1000)
sapply(1:1000,\(x) as.numeric(names(calc.top(x)[1])))

k=1:9
plot(k,p,pch=16)
lines(k,log10(1+1/k),type='h',col=2) # ベンフォードの法則

287 :卵の名無しさん:2024/01/12(金) 16:58:50.71 ID:NVcGRVeI.net
医者板では全く相手にされないから数学板で高校生相手にイキれると思ってる尿瓶チンパンジジイ滑稽だね

145 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200