代码:
data=read.csv("./spmf1234.csv",header=F);
df<- data.frame(do.call('rbind', strsplit(as.character(data$V1),'#',fixed=F)));
df2<- data.frame(do.call('rbind', strsplit(as.character(df$X1),'==>',fixed=F)));
df3=cbind(df2,df);
colnames(df3)=c("lhs","rhs","rule","support","confidence","lift");
df4 <- subset(df3, select = c(lhs,rhs,support,confidence,lift));
final=subset(df4,lhs!=1);
我正在使用 fp-growth 从 spmf 获得的 csv 文件上尝试上述代码以获取关联规则。我希望删除所有在 lhs 中具有“1”的规则,但这不起作用。
.csv 文件:
2 ==> 1 #SUP: 1 #CONF: 0.33333 #LIFT: 0.66667
1 ==> 2 #SUP: 1 #CONF: 0.33333 #LIFT: 0.66667
3 ==> 1 #SUP:2 #CONF:0.5 #LIFT:1
1 ==> 3 #SUP:2 #CONF:0.66667 #LIFT:1
3 ==> 2 #SUP:2 #CONF:0.5 #LIFT:1
2 ==> 3 #SUP:2 #CONF:0.66667 #LIFT:1
2 3 ==> 1 #SUP:1 #CONF:0.5 #LIFT:1
1 3 ==> 2 #SUP:1 #CONF:0.5 #LIFT:1
1 2 ==> 3 #SUP:1 #CONF:1 #LIFT:1.5
3 ==> 1 2 #SUP: 1 #CONF: 0.25 #LIFT: 1.5
2 ==> 1 3 #SUP: 1 #CONF: 0.33333 #LIFT: 1
1 ==> 2 3 #SUP: 1 #CONF: 0.33333 #LIFT: 1