R的真正新手。如果这个问题对某些人来说太明显,我道歉。我转向在线社区,因为没有人知道我在哪里工作。
问题:一千个公平的硬币。每个硬币独立翻转10次。设c_1,c_rand,c_min是第一枚硬币翻转的头数,随机硬币和具有最小头数的硬币(如果是平局则选择较早的硬币)。到目前为止,我成功地编写了进行实验的代码。我现在要把第一枚硬币,一枚随机硬币和硬币从给定的序列中取出最后一批头,但我输了。很想在这方面找到方向。
i<-1
while(i<=10){
x<-1
heads<-0
tails<-0
while(x<=10){
s<-sample(0:1,1)
if(s==1) heads=heads+1
else tails=tails+1
x=x+1}
cat("heads: ", heads)
i=i+1}
答案 0 :(得分:0)
首先:将1000枚公平硬币翻转10次的结果与翻转10,000次的硬币相同,结果以10组为单位记录。
coins <- matrix( rbinom( 10000, 1, .5), ncol=10)
coins <- cbind( coins, c_1 = apply( coins, 1, sum) ) # number of heads
此时,您对自然语言的描述变得过于模糊,无法理解正在尝试的内容。什么是随机硬币?你只想要一个sample(1:1000, 1)
的行号吗?有了这么多试验,我希望which.min( coins[, 'c_1']
会给你第一个所有尾部行的行号。 (在我的实例中是119。)