Я думаю, ваш pcartas
объект должен быть простым вектором, а не фреймом данных. В противном случае у вас возникнут трудности с извлечением элементов списка.
Очистите рабочее пространство R, установите пакет prob и загрузите его.
rm(list=ls())
install.packages("prob")
library(prob)
Создайте образец пробел.
pcartas <- cards()$suit
Вы увидите, что это фактор-вектор. Я собираюсь преобразовать это в символьный вектор, потому что функция urnsamples
преобразует метки в их числовые коды c, что затрудняет вычисление вероятностей. Вы увидите проблему, если не выполните этот следующий шаг.
pcartas <- unclass(as.character(pcartas))
Выборка без замены из этого выборочного пространства и преобразование в вероятностное пространство (ваша первая строка кода выше):
L <- urnsamples(pcartas, size=3, replace=FALSE, ordered=TRUE);
N <- probspace(L);
Рассчитайте вероятность любого события. Например, вероятность получения «лопаты» на первой карте равна:
Prob(N, X1=="Spade") # Answer=0.25 or 13/52
А вероятность получения лопаты на первой карте и сердца на второй:
Prob(N, X1=="Spade" & X2=="Heart") # Answer=0.0637 or 13/52 * 13/51
И, наконец, вероятность получения лопаты на первой карте и сердца на второй карте и клюшки на третьей:
Prob(N, X1=="Spade" & X2=="Heart" & X3=="Club") # Answer=0.016568 or 13/52 * 13/51 * 13/50
Если вы не конвертировали пробное пространство Если вы возьмете объект из вектора символов, то вам понадобятся коды чисел c, чтобы получить вероятности:
Prob(N, X1==1 & X2==2 & X3==3)