我正在从决策树中获取规则,并显示以下文本:
dev_amount_720 <= 2212
dev_orders_1440 <= 81
dev_orders_5760 > 55
dev_amount_5760 > 1649
我需要做的是通过这些值过滤我的数据集并进行计数。例如,我想以某种方式将其转换为此调用:
data[which(data$dev_amount_720 <= 2212 &
data$dev_orders_1440 <= 81 &
data$dev_orders_5760 > 55 &
data$dev_amount_5760 > 1649),]
是否有一种有效的方法来做到这一点?我想出的最好的办法是分割字符串:
> strsplit(rule_split[1], " ")[[1]]
[1] "dev_amount_720" "<=" "2212"
我可以通过以下方式对数据进行子集化:
data[which(data[<var>] <operator> <value>), ]
data[which(data["dev_amount_720"] <= 2212), ]
但是,这并不是很有效,因为我需要将数百个规则应用于此过程。