Оценить вероятность по элементам списка в R

У меня есть список 100 000 смоделированных чисел T в R (минимум: 1,5, максимум 88,8), и я хочу вычислить вероятность того, что T будет между 10 и 50.

Я суммировал 100 000 чисел Т, где Т t(y) %*% M %*% y где M является матрицей постоянных значений 8x8, а y является матрицей 8x1. Элемент в i-я строка, если у, равна: a_i + b_i где a - вектор констант, а b - вектор, элементы которого следуют за normal (0,sd=2) распределение (каждый элемент представляет собой другое моделируемое число N(0,2))

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)
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) сделать это вектором.

Другие вопросы по тегам