我需要if (isset($_SERVER['REMOTE_ADDR']) AND $_SERVER['SERVER_ADDR'] != $_SERVER['REMOTE_ADDR']) die('Permission denied.');
我的数据:
cast
进入这种汇总形式:
> data.frame(transactionID= c("941214", "941214", "140668","945320","945320","945320"), productCategory = c("A","B","C","B","C","A"))
transactionID productCategory
1 941214 A
2 941214 B
3 140668 C
4 945320 B
5 945320 C
6 945320 A
在productCategory A.purchase B.purchase C.purchase
A 2 2 1
B 2 2 1
C 1 1 2
列和A.purchase
,我需要计算产品A出现的交易。
在row.number = 1
列和B.purchase
,我需要计算产品B与A一起出现的交易。
我试过这个:row.number = 1
。但是,在交易中,产品B与产品A在一起时不计算在内。
SOLUTION:
dcast(data, productCategory~productCategory)
答案 0 :(得分:0)
以下是dplyr
和tidyr
如何做到这一点。我首先group_by
transactionID,然后是expand
这些组中的所有可能组合。此外,我认为您的预期结果有误。 B和C只出现在一个订单中。所以第2行的最后一个元素应该是1。
library(dplyr);library(tidyr)
data %>%
group_by(transactionID)%>%
expand(productCategory,productCategory)%>%
dcast(productCategory~productCategory1)
productCategory A B C
1 A 2 2 1
2 B 2 2 1
3 C 1 1 2