估计R中列表元素的概率

时间:2013-12-30 16:37:14

标签: r probability

我有一个列表中有10个模拟数字的R在R中(最小值:1.5,最大值88.8),我想计算T在10到50之间的概率。

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

2 个答案:

答案 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)

答案 1 :(得分:0)

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

如果您确实有一个列表,请使用myrandoms <- do.call(c, mylist)将其设为矢量。