从R中的列表元素估计概率

从R中的列表元素估计概率,r,probability,R,Probability,我有一个列表,里面有100000个模拟的T(最小:1.5,最大88.8),我想计算T在10到50之间的概率 我计算了100000个T,其中T是T(y)%*%M%*%y,其中M是常量值的8x8矩阵,y是8x1矩阵。i第i行中的元素,如果y,等于:a_i+b_i,其中a是常数向量,b是元素遵循a正态(0,sd=2)分布的向量(每个元素是不同的模拟数N(0,2))它是在向量中还是在列表中?如果它是一个向量,那么下面的方法应该有效。如果它在列表中,可以使用unlist()将其转换为向量 mylist &

我有一个列表,里面有100000个模拟的T(最小:1.5,最大88.8),我想计算T在10到50之间的概率


我计算了100000个T,其中T是
T(y)%*%M%*%y
,其中
M
是常量值的8x8矩阵,y是8x1矩阵。
i
第i行中的元素,如果y,等于:
a_i+b_i
,其中a是常数向量,b是元素遵循a
正态(0,sd=2)
分布的向量(每个元素是不同的模拟数
N(0,2)

它是在向量中还是在列表中?如果它是一个向量,那么下面的方法应该有效。如果它在列表中,可以使用unlist()将其转换为向量

mylist <- runif(100000,1.5,88.8) #this is just to generate a random number vector 
length(which(mylist>=10 & mylist<=50))/length(mylist)
mylist=10&mylist
set.seed(42)

我的随机数是从什么概率分布中取样的?我计算了100000个T,其中T是T(y)%*%M%*%y,其中M是常量值的8x8矩阵,y是8x1矩阵。如果y,则第i行中的元素等于:a_i+b_i,其中a是常数向量,b是元素遵循正态(0,sd=2)分布的向量(每个元素的模拟数量不同,为N(0,2))。您有列表还是向量?提供一个小的可再现数据集总是有帮助的。这里有一个关于如何在R中生成可再现数据的链接@Sean的答案是
mean中我最喜欢的简洁编码(mylist>=10&mylist如果你计划计算大量的经验概率,这将是一个很好的方法-如果你只计划计算一个,那么肖恩回答中的aosmith的评论可能更好。我们如何评论根据模拟数字计算的概率与原始概率之间的比较nal分布?@user3143784我真的不理解你的评论。理论和模拟结果非常吻合,如果你增加样本量,它们会更吻合。
set.seed(42)
myrandoms <- rnorm(100000, mean=5, sd=2)
mydistr <- ecdf(myrandoms)

#probability of beeing between 1 and 3:
diff(mydistr(c(1, 3)))
#[1] 0.13781

#compare with normal distribution
diff(pnorm(c(1, 3), mean=5, sd=2))
#[1] 0.1359051