我有一个数据框,其中包含两列:使用者ID和过程名称。
一个使用者可以有多个过程名称。
我需要了解某人执行了其他过程后再执行特定过程的可能性。
示例
Consumer ID, Procedure Name
01, Procedure 01
01, Procedure 02
02, Procedure 01
因此,假设某人已经完成了工序01,那么他执行工序02的概率为50%。
有人知道一个包裹吗?还是我需要进行一次计数是否为函数?
谢谢!
答案 0 :(得分:0)
您可以选择具有过程1的Consumer_ID
个,为它们是否也具有过程2创建一个指标变量,并且您的概率是该新指标的平均值。
library(dplyr)
df %>%
group_by(Consumer_ID) %>%
filter('Procedure 01' %in% Procedure_Name) %>%
summarise(had_p2 = 'Procedure 02' %in% Procedure_Name) %>%
summarise(p_2_given_1 = mean(had_p2))
# # A tibble: 1 x 1
# p_2_given_1
# <dbl>
# 1 0.500
使用的数据:
df <- data.table::fread("
Consumer_ID, Procedure_Name
01, Procedure 01
01, Procedure 02
02, Procedure 01
")