一个数字在R中变成一个向量,结果是向量的分量之和 UrnA=rep(c(10,5,1),c(5,5,5)) UrnB=rep(c(20,5,1),c(9,3,3)) n=1e3 总和=0 for(1:n中的i){ 骰子=样品(1:6,1) 总和=总和+(骰子=5)*样本(UrnB,2,替换=假) } E=总和/n

一个数字在R中变成一个向量,结果是向量的分量之和 UrnA=rep(c(10,5,1),c(5,5,5)) UrnB=rep(c(20,5,1),c(9,3,3)) n=1e3 总和=0 for(1:n中的i){ 骰子=样品(1:6,1) 总和=总和+(骰子=5)*样本(UrnB,2,替换=假) } E=总和/n,r,R,我想用上面的句子来解决下面的问题。 “瓮A包含5张10美元的钞票、5张5美元的钞票和5张1美元的钞票。 瓮B包含9张20美元的钞票、3张5美元的钞票和3张1美元的钞票。 掷骰子。如果骰子落在1、2、3或4上,则从瓮A中抽取两张钞票(不替换), 否则,将从Urn B中提取两张票据。设X=所提取票据的总值。 (a) 使用模拟来估计E[X]。” 问题是,当我运行这个句子时,结果是一个包含两个分量的数组,这让我很困惑。我自己计算,结果是每个分量的和是正确的答案 您的sample函数都将返回一组两个值。你

我想用上面的句子来解决下面的问题。 “瓮A包含5张10美元的钞票、5张5美元的钞票和5张1美元的钞票。 瓮B包含9张20美元的钞票、3张5美元的钞票和3张1美元的钞票。 掷骰子。如果骰子落在1、2、3或4上,则从瓮A中抽取两张钞票(不替换), 否则,将从Urn B中提取两张票据。设X=所提取票据的总值。 (a) 使用模拟来估计E[X]。”
问题是,当我运行这个句子时,结果是一个包含两个分量的数组,这让我很困惑。我自己计算,结果是每个分量的和是正确的答案

您的
sample
函数都将返回一组两个值。你需要对它们的组成部分求和

UrnA =rep(c(10,5,1),c(5,5,5))
UrnB =rep(c(20,5,1),c(9,3,3))
n=1e3
sum=0
for( i in 1:n ){
  dice=sample(1:6,1)
  sum=sum+(dice<=4)*sample(UrnA,2,replace = FALSE)+(dice>=5)*sample(UrnB,2,replace = FALSE)
}
E=sum/n
#而不是
总和=总和+(骰子=5)*样本(UrnB,2,替换=假)
#使用:
sum=sum+sum((骰子=5)*样本(UrnB,2,replace=FALSE))

< /代码> 您可以避免< <代码>循环>如果您认为滚动一个骰子<代码> n< /代码>时间与滚动<代码> n< /代码>骰子一次相同。< /P>
# Instead of
sum=sum+(dice<=4)*sample(UrnA,2,replace = FALSE)+(dice>=5)*sample(UrnB,2,replace = FALSE)
#Use:
sum=sum+sum((dice<=4)*sample(UrnA,2,replace = FALSE)+(dice>=5)*sample(UrnB,2,replace = FALSE))

UrnA这是因为当您从UrnA或urnb中提取两个样本时,它会给您一个包含两个数字的数组,然后用于计算总和。这是正确的。您能为OP编写完整的代码吗?同时,请尽量避免使用
sum
作为变量,因为它是base R中的一个函数。这是不正确的,请尝试时不时地运行代码,因为它不包括。
UrnA <- rep(c(10,5,1), c(5,5,5))
UrnB <- rep(c(20,5,1), c(9,3,3))
n <- 1e3

set.seed(2018);
sum(as.integer(sapply(sample(1:6, n, replace = T), function(x)
    if (x <= 4) sample(UrnA, 2) else sample(UrnB, 2))))
#[1] 15818
val <- sapply(1:1000, function(x)
    sum(as.integer(sapply(sample(1:6, n, replace = T), function(x)
        if (x <= 4) sample(UrnA, 2) else sample(UrnB, 2)))))
ggplot(data.frame(idx = 1:1000, val = val), aes(idx, val)) +
    geom_point() +
    ylim(0, pretty(max(val))[2])