用R进行数据处理
我遇到了一个问题,我发现自己没有及时找到好的解决办法。非常感谢您的帮助,因为我认为这里的一些专业人士只需要几行代码 我的数据超过200万。交易行。我想对数据做一些关联规则 我只对涉及产品(p_ID)“潘多拉”的交易(t_ID)感兴趣,并且我了解客户(c_ID)。我举了一个例子:用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
> 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您是对的。我仔细检查了一下,现在一切正常。谢谢!结果很好。谢谢你,伙计!结果很好。谢谢你,伙计!