library(Deducer)
n.players <- 17
weight <- c(84,92,22,12,12,15,11,22,16,1,12,15,26,20,9,29,4)
quota <- sum(weight)/2+1
p <-n.players
n.cases <-factorial(p)
tab <- perm(1:p)
critical <- rep(0,n.cases)
for (i in 1:n.cases){
weight.sum <- cumsum(weight[tab[i,]])
critical[i] <- tab[i,which.max(weight.sum >= quota)]
}
table(critical)
power <- table(critical)/n.cases
round(power,3)
- 此代码需要“Deducer”包。请在输入代码之前输入消息“install.packages("Deducer")”。
如果您需要更多关于 Shapley Shubik 功率指数的信息,请访问此处“ http://en.wikipedia.org/wiki/Shapley%E2%80%93Shubik_power_index ”
在这种情况下,我收到一条错误消息,因为代码基于大型样本。我想通过以下两种方式解决问题:
计算我的个人电脑允许的情况(我 5 年前买了我的电脑。当时性能不高)并检查处理时间(很容易。我只是使用程序“proc.time ")
通过使用 MonteCarlo,我想近似索引,并且在这种情况下我还检查了处理时间。
此外,我想比较 way1 和 way2 之间的索引和处理时间。
我该如何解决这个问题?(我找不到扩大计算内存限制的包。即使我在理论上知道蒙特卡洛的初级水平,我也无法将该机制应用于R代码)