这是原始记录

[data]

顾客 项目

1 Orange,Coke

2 Milk,Orange,Win Cl

3 Orange,Detergent

4 Orange,Detergent,coke

5 Win Cl

[/data]

希望得到

[data]

Orange Win Cl Milk Coke Detergent

Orange 4 1 1 2 2

Win Cl 1 2 1 0 0

Milk 1 1 1 0 0

Coke 2 0 0 2 1

Detergent 1 0 0 0 2

[/data]

回复 第4楼 的 G_will:这表怎么看不懂啊,不对称啊……

表格中的数字是谓词和主词搭配的频数

部分源码

<br />
# http://cos.name/cn/topic/103466<br />
datum <- read.table("e:\\datum.txt", header = TRUE)<br />
df <- data.frame()<br />
k <- 1<br />
for (k in 1:nrow(datum)) {<br />
  exp2 <-as.character(datum[k,2])<br />
  exp1 <- strsplit(exp2,",")[[1]]<br />
  i <- 1<br />
  j <- 1<br />
  for (i in 1:max((length(exp1)),1)) {<br />
      for (j in i:length(exp1)) {<br />
          df <- rbind(df,as.data.frame(t(exp1[c(i,j)])))}}}<br />
table(df,dnn=c('',''))<br />
</p>

省略的功能是

2 把Win Cl 改成了 Win_Cl

3 把coke 和 Coke 统一成 Coke

<br />
              Orange Coke Milk Win_Cl Detergent<br />
  Orange         4    2    0      1         2<br />
  Coke           0    2    0      0         0<br />
  Milk           1    0    1      1         0<br />
  Win_Cl         0    0    0      2         0<br />
  Detergent      0    1    0      0         2</p>
<p>
</p>

附datum.txt

<br />
guest	inventory<br />
1	Orange,Coke<br />
2	Milk,Orange,Win_Cl<br />
3	Orange,Detergent<br />
4	Orange,Detergent,Coke<br />
5	Win_Cl<br />
</p>

楼主“希望得到”的表有误。Coke和Detergent有一个结合,在第四条记录。