#导入数据,并选取所需列数
mydata
data
#步骤一:标准化
#定义函数1&2——标准化处理(负项指标、正向指标)
function1
for(i in 1:length(x)){
x[i]=(max(x)-x[i])/(max(x)-min(x))
}
return(x)
}
function2
for(i in 1:length(x)){
x[i]=(x[i]-min(x))/(max(x)-min(x))
}
return(x)
}
#对负向指标和正向指标分别采用函数1&2
y1
y2
#将结果合成一个矩阵,得到标准化后矩阵y
y
#步骤二:计算比重
#定义函数3——比重公式
function3
for(i in 1:length(x)){
x[i]=x[i]/sum(x)
}
return(x)
}
#计算y中各数据比重,得到比重矩阵p
p
#步骤三:计算指标熵值
#定义函数4&5——熵值计算公式(两步)
function4
n
for(i in 1:length(x)){
if(x[i]==0){n[i]=0}
else{n[i]=n[i]*log(n[i])
}
return(n)
}
}
function5
n
for(i in 1:length(x)){
n[i]=-sum(x)/log(length(x))
}
return(n)
}
#两步计算得到指标熵值向量e
e1
e2
e
#步骤四:计算冗余度
d
#步骤五:计算指标权值
w
最后
以上就是欣喜发卡最近收集整理的关于c语言熵值法,干货 | R语言熵值法详解(附代码) 秒懂自定义函数的全部内容,更多相关c语言熵值法,干货内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复