我是靠谱客的博主 欣喜发卡,这篇文章主要介绍c语言熵值法,干货 | R语言熵值法详解(附代码) 秒懂自定义函数,现在分享给大家,希望可以做个参考。

#导入数据,并选取所需列数

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语言熵值法,干货内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部