对于营销课程,我必须编写一个函数来计算客户的保留率(客户仍然是客户的概率)。到目前为止,我已经隔离了各个客户的 id 并将它们存储在矩阵 first.transactions.data 中。然后我使用 split() 将它们分成群组(按时间划分的客户组)并将它们存储在列表群组中。现在我的问题来了:我从名为 final.period.data 的完整数据集中计算了另一个子矩阵,我将在其中计算保留率。但是,因此我必须为每个群组隔离 final.period.data 中的 id。我的导师告诉我,我应该在 final.period.data 中创建一个额外的列,显示 TRUE 或 FALSE,具体取决于队列的 id 和 final.period.data 的 id 是否相同。为此,我尝试使用存在,但我总是收到错误消息。我尝试了以下方法:
final.period.data <- if(exists(cohort$'1'$id, where = final.period.data$id) final.period.data$same = TRUE)
但总是收到错误消息,例如:意外符号或无效的第一个参数。我还尝试将列表队列转换为矩阵,但这也无济于事。我如何必须更改存在命令,或者是否有更简单的方法可以在 final.period.data 中找到队列的 ID?
谢谢您的帮助。