szcf715
您好,又麻烦您了。我想做基尼系数,然后一个用公式代码,另外一个用ineq包,做出来的结果,公式中有两个不显示,给出了两个警告,这是为什么呢,下面是我做的过程,您帮我看一下,谢谢啦!
gini <- function(x,correct=FALSE){
n = length(x)
fun = function(a,b) abs(a-b)
ifelse(correct,
sum(outer(x,x,fun))/(2*n*(n-1)*mean(x)),
sum(outer(x,x,fun))/2*n^2*mean(x))
}
forages.gini <- apply(forages1,2,gini,correct=T)
Warning messages:
1: In sum(outer(x, x, fun)) : integer overflow - use sum(as.numeric(.))
2: In sum(outer(x, x, fun)) : integer overflow - use sum(as.numeric(.))
forages.gini
紫花苜蓿 披碱草 柠条 沙打旺 黑麦草 青贮玉米
0.7911413 0.9110174 0.9550829 0.9064644 0.8415168 NA
燕麦 人工牧草
0.8977520 NA