эффективный способ расчета эмпирических вероятностей действий для данного состояния в R - PullRequest
0 голосов
/ 07 сентября 2018

Я хотел бы рассчитать вероятности предпринимаемого действия, учитывая набор состояний s1, s2, ..., s6. Однако я хотел бы добавить эту вероятность в качестве другого столбца в моем фрейме данных. Я знаю, как рассчитать эти вероятности, просто просматривая каждую строку в таблице и затем выполняя поиск, но я думаю, что это поможет получить векторизованное решение.

Я знаю, что эмпирическая вероятность равна length(df[(s1==x1 & s2==x2 & ... & s6==x6 & action==a),])/length(df[(s1==x1 & s2==x2 & ... & s6==x6),]), но мне нужна помощь в расчете этого значения для каждой строки и создании нового столбца df$b для моего кадра данных.

enter image description here

Есть мысли?

1 Ответ

0 голосов
/ 07 сентября 2018

С данными.таблицы:

library(data.table)
setDT(df)

df[ , numer := .N, by=.(s1, s2, s3, s4, s5, s6, action)]
df[ , denom := .N, by=.(s1, s2, s3, s4, s5, s6)]

df[ , b:= numer/denom]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...