概述
#导入数据,并选取所需列数
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语言熵值法,干货 | R语言熵值法详解(附代码) 秒懂自定义函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复