CRITIC方法R实现
方法 实现 critic
2023-06-13 09:16:26 时间
title: "CRITIC方法R实现"
author: "scf"
date: '2022-12-31'
output: html_document
R Markdown
# Import data
data <- read_excel("银行数据.xlsx")
label_need <- data %>% names()# Select the columns we need
label_need <- label_need[c(2:ncol(data))]
data1 <- data[,label_need] # Convert to a matrix
data2 <- data1 # Make a copy of the matrix
# Get the number of rows and columns in data2
m <- nrow(data2)
n <- ncol(data2)
index_all <- 1:n # Create a vector of column indices
index <- 3 # Index of negative criteria
# Normalize negative criteria
for (j in index) {
d_max <- max(data1[,j])
d_min <- min(data1[,j])
data2[,j] <- (d_max - data1[,j]) / (d_max - d_min)
}
# Normalize positive criteria
index <- setdiff(index_all, index) # Index of positive criteria
for (j in index) {
d_max <- max(data1[,j])
d_min <- min(data1[,j])
data2[,j] <- (data1[,j] - d_min) / (d_max - d_min)
}
# Calculate contrast and contradiction
the <- apply(data2, 2, sd) # Contrast
data3 <- data2 # Make a copy of the data
#data3 <- t(data3) # Transpose the matrix
r <- cor(data3, method = "pearson") # Pearson correlation coefficient
f <- rowSums(1 - r) # Sum of 1 - r
# Calculate weights
c <- the * f
w <- c / sum(c) # Normalize weights
for(k in 1:length(label_need)){
print(paste(label_need[k],"指标的CRITIC权重分别为:",w[k]))
}
s <- as.matrix(data2) %*% w # Weighted sum
Score <- 100 * s / max(s) # Calculate scores
# Print scores
for (i in 1:length(Score)) {
print(paste(data[i, "银行"], "银行百分制评分为:", Score[i]))
}
相关文章
- ThinkPHP实现定时执行任务的两种方法「建议收藏」
- Redis数据库中实现分布式锁的方法
- Oracle 12c实现手工建库而非CDB及CDB创建的方法
- Linux下延时启动的实现方法(linux延时启动)
- 掌握Linux指定用户目录权限设置方法(linux指定用户目录)
- Linux系统实现安全防护的方法(linux防护墙)
- JSP Request.getCharacterEncoding()方法:返回字符编码格式
- Redis数据库备份: 策略及实现方法(redis备份策略)
- MySQL中查看数据库的方法(mysql查看数据库)
- 掌握MySQL日志的查看方法(如何查看mysql 日志)
- MySQL动态创建表的实现方法(mysql中动态创建表)
- Oracle中实现日期加减的简便方法(oracle中的日期加减)
- MySQL 数据库实现两个字段拼接的方法(mysql 两字段拼接)
- Oracle实现乱序排序的方法(oracle 乱序排序)
- 前的日期Oracle中取得30天前日期的实现方法(oracle中取30天)
- 通过js脚本复制网页上的一个表格的不错实现方法
- 批量删除记录时如何实现全选方法总结
- 解决C#中取消方向键对控件焦点控制的实现方法
- MSSQL数据库占用内存过大造成服务器死机问题的解决方法
- C#执行js动态编译的方法
- destoon实现调用图文新闻的方法
- IIS支持exe文件下载配置方法附图
- Java基于高精度整型实现fibonacci数列的方法