用R进行数据处理

用R进行数据处理,r,transactions,dataframe,R,Transactions,Dataframe,我遇到了一个问题,我发现自己没有及时找到好的解决办法。非常感谢您的帮助,因为我认为这里的一些专业人士只需要几行代码 我的数据超过200万。交易行。我想对数据做一些关联规则 我只对涉及产品(p_ID)“潘多拉”的交易(t_ID)感兴趣,并且我了解客户(c_ID)。我举了一个例子: > T_ID <- c(10,10,10,11,12,13,13) > P_ID <- c("PANDORA", "Others", "Pan","PANDORA","Ham", "PANDORA

我遇到了一个问题,我发现自己没有及时找到好的解决办法。非常感谢您的帮助,因为我认为这里的一些专业人士只需要几行代码

我的数据超过200万。交易行。我想对数据做一些关联规则

我只对涉及产品(p_ID)“潘多拉”的交易(t_ID)感兴趣,并且我了解客户(c_ID)。我举了一个例子:

> T_ID <- c(10,10,10,11,12,13,13)
> P_ID <- c("PANDORA", "Others", "Pan","PANDORA","Ham", "PANDORA","Ham")
> c_ID <- c(1,1,1,2,-1,4,4)
> basket <- data.frame(T_ID,P_ID,c_ID)
> basket
T_ID    P_ID c_ID
1   10 PANDORA    1
2   10  Others    1
3   10     Pan    1
4   11 PANDORA    2
5   12     Ham   -1
6   13 PANDORA    4
7   13     Ham    4
>T_ID P_ID c_ID篮子
T_ID P_ID c_ID
110潘多拉1
2 10其他1
3 10潘1
4 11潘多拉2
5-12火腿-1
6 13潘多拉4
7 13火腿4
事务10包含产品“Pandora”,因此所有3行都应保留在数据集中。虽然事务处理12未连接客户,但需要将其删除

在如何保存与包含“PANDORA”的同一事务ID相关但存储了另一个产品的事务行方面,我最为头疼

非常感谢您的帮助

致以最良好的祝愿, Christian

也许这有助于:

keep_IDs <- basket$T_ID[with(basket, P_ID=="PANDORA" & c_ID!=-1)]
basket[basket$T_ID %in% keep_IDs,]
#  T_ID    P_ID c_ID
#1   10 PANDORA    1
#2   10  Others    1
#3   10     Pan    1
#4   11 PANDORA    2
#6   13 PANDORA    4
#7   13     Ham    4
keep_id也许这有助于:

keep_IDs <- basket$T_ID[with(basket, P_ID=="PANDORA" & c_ID!=-1)]
basket[basket$T_ID %in% keep_IDs,]
#  T_ID    P_ID c_ID
#1   10 PANDORA    1
#2   10  Others    1
#3   10     Pan    1
#4   11 PANDORA    2
#6   13 PANDORA    4
#7   13     Ham    4

keep_id每笔交易是否只有一个客户id?我想是的

第一步是删除那些没有客户id的行

cleanbasket = basket[bucket$c_ID != -1,]
接下来,我们要确定哪些交易包括潘多拉

transactions = unique(basket$T_ID[basket$P_ID == "PANDORA"])
然后获取这些事务的所有行

cleanbasket = cleanbasket[cleanbasket$T_ID %in% transactions,]

每笔交易是否只有一个客户id?我想是的

第一步是删除那些没有客户id的行

cleanbasket = basket[bucket$c_ID != -1,]
接下来,我们要确定哪些交易包括潘多拉

transactions = unique(basket$T_ID[basket$P_ID == "PANDORA"])
然后获取这些事务的所有行

cleanbasket = cleanbasket[cleanbasket$T_ID %in% transactions,]

谢谢你的快速回复。我扩展了我的示例,并添加了另一个交易(14),其中包含“Nugget”和“Honey”,并由客户5购买。它还显示了目前仍在进行的第14笔交易。因此,它似乎适用于示例,但不适用于整个示例。@Christian,我认为你错了。我添加了您提到的事务,但它没有显示在输出中。请仔细检查我在编辑中发布的数据。您可能忘记将输出存储在变量中,如
basket2您是对的。我仔细检查了一下,现在一切正常。谢谢!谢谢你的快速回复。我扩展了我的示例,并添加了另一个交易(14),其中包含“Nugget”和“Honey”,并由客户5购买。它还显示了目前仍在进行的第14笔交易。因此,它似乎适用于示例,但不适用于整个示例。@Christian,我认为你错了。我添加了您提到的事务,但它没有显示在输出中。请仔细检查我在编辑中发布的数据。您可能忘记将输出存储在变量中,如
basket2您是对的。我仔细检查了一下,现在一切正常。谢谢!结果很好。谢谢你,伙计!结果很好。谢谢你,伙计!