例如,在这个给定的数据集中,我想获得每个变量的最佳值,这些变量将产生一个预设值“ percentage”:例如,我需要“ percentage”的值应> = 0.7,因此情况下的结果应该是这样的:
birds >=5,1<wolfs<=3 , 2<=snakes <=4
数据集示例:
dat <- read.table(text = "birds wolfs snakes percentage
3 8 7 0.50
1 2 3 0.33
5 1 1 0.66
6 3 2 0.80
5 2 4 0.74",header = TRUE
我的数据框很大,因此无法使用决策树,也无法正确看到所有树。我尝试了该*arules*
软件包,但它要求所有变量都是因子,并且我混合了因子,逻辑变量和连续变量的数据集,我想保留这些变量,而自变量继续。我还需要“百分比”变量作为变量我只想优化的一个。我用*arules*
package编写的代码是这样的:
library(arules)
dat$birds<-as.factor(dat$birds)
dat$wolfs<-as.factor(dat$wolfs)
dat$snakes<-as.factor(dat$snakes)
dat$percentage<-as.factor(dat$percentage)
rules<-apriori(dat, parameter = list(minlen=2, supp=0.005, conf=0.8))
谢谢
我可能误解了这个问题,但是要获得每个变量的最大值而又受percentage >= 0.7
您的限制,可以这样做:
lapply(dat[dat$percentage >= 0.7, 1:3], max)
$birds
[1] 6
$wolfs
[1] 3
$snakes
[1] 4
评论后编辑:
因此,这可能是您正在寻找的更多内容:
> as.data.frame(lapply(dat[dat$percentage >= 0.7,1:3], function(y) c(min(y), max(y))))
birds wolfs snakes
1 5 2 2
2 6 3 4
如果出现以下情况,它将给出代表变量范围的最小值和最大值 percentage >=0.7
如果这完全错过了您要实现的目标,那么我可能不是帮助您的合适人选。
编辑#2:
> as.data.frame(lapply(dat[dat$percentage >= 0.7,1:3], function(y) c(min(y), max(y), length(y), length(y)/nrow(dat))))
birds wolfs snakes
1 5.0 2.0 2.0
2 6.0 3.0 4.0
3 2.0 2.0 2.0
4 0.4 0.4 0.4
第1行:最小第2行:最大第3行:符合条件的观测值的数量第4行:符合条件的观测值的百分比(相对于总观测值)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句