R 在另一个矩阵中查找列表/矩阵的相同观察值

R 在另一个矩阵中查找列表/矩阵的相同观察值,r,list,matrix,R,List,Matrix,对于营销类,我必须编写一个函数来计算客户的保留率(客户仍然是客户的概率)。到目前为止,我已经隔离了各个客户的ID,并首先将它们存储在矩阵中。transactions.data。然后,我使用split()将它们划分为队列(按时间划分的客户组),并将它们存储在列表队列中。 现在我的问题来了:我从名为final.period.data的完整数据集中计算了另一个子矩阵,我将在其中计算保留率。但是,因此我必须在每个队列的final.period.data中隔离ID。我的指导老师告诉我,我应该在final.

对于营销类,我必须编写一个函数来计算客户的保留率(客户仍然是客户的概率)。到目前为止,我已经隔离了各个客户的ID,并首先将它们存储在矩阵中。transactions.data。然后,我使用split()将它们划分为队列(按时间划分的客户组),并将它们存储在列表队列中。 现在我的问题来了:我从名为final.period.data的完整数据集中计算了另一个子矩阵,我将在其中计算保留率。但是,因此我必须在每个队列的final.period.data中隔离ID。我的指导老师告诉我,我应该在final.period.data中创建一个额外的列,根据队列id和final.period.data的id是否相同来显示TRUE或FALSE。为此,我尝试使用exists,但总是收到错误消息。我尝试了以下方法:

final.period.data <- if(exists(cohort$'1'$id, where = final.period.data$id) final.period.data$same = TRUE)

final.period.data您只需创建一个函数即可满足您的需要:

funct <-(final.period.data){
 if (final.period.data$cohort =='1' & final.period.data$id ==<condition2>){
   #Change the number for the TRUE condition}
 else{ #If it doesn't fit the two conditions
  #Change the number for the FALSE condition}
}
vector <- c(nrow(final.period.data))
final.period.data <- cbind(vector)
函数