当前位置: 首页 > news >正文

gpt-4o+deepseek+R生成热力图表

参考文献:

https://www.bilibili.com/video/BV1LQRnYcECS/?spm_id_from=333.337.search-card.all.click&vd_source=80131b0637928aecfc4f4ea0c4fe5ad5

https://mp.weixin.qq.com/s/cWAhrMg1W2X0z38RZ_K5Ag

1.

2.

3.

# 加载必要的包
library(corrplot)
library(ggplot2)

# 设置随机种子以保证结果可重现
set.seed(123)

# 创建模拟数据 - 生成9个变量(A到I)的100个观测值
n <- 100
A <- rnorm(n)
B <- A + rnorm(n, sd = 0.5)
C <- -0.4*A + rnorm(n, sd = 0.8)  # 与A负相关
D <- rnorm(n)
E <- 0.7*B + rnorm(n, sd = 0.6)
F <- 0.3*D + rnorm(n, sd = 0.9)
G <- 0.5*E + 0.3*F + rnorm(n, sd = 0.7)
H <- rnorm(n)
I <- -0.4*A + 0.3*H + rnorm(n, sd = 0.8)  # 与A负相关

# 创建数据框
data <- data.frame(A, B, C, D, E, F, G, H, I)

# 计算相关性矩阵
cor_matrix <- cor(data)

# 手动调整一些相关性以匹配描述中的模式
# 确保某些变量有较强的负相关性
cor_matrix["A", "C"] <- -0.46
cor_matrix["C", "A"] <- -0.46
cor_matrix["A", "I"] <- -0.44
cor_matrix["I", "A"] <- -0.44
cor_matrix["C", "E"] <- -0.42
cor_matrix["E", "C"] <- -0.42

# 增强一些正相关性
cor_matrix["B", "E"] <- 0.75
cor_matrix["E", "B"] <- 0.75
cor_matrix["E", "G"] <- 0.68
cor_matrix["G", "E"] <- 0.68

# 方法1: 使用corrplot包创建高级相关性矩阵图
corrplot(cor_matrix, 
         method = "color",        # 使用颜色表示相关性
         type = "upper",          # 只显示上三角
         order = "original",      # 保持原始顺序
         diag = TRUE,             # 显示对角线
         tl.cex = 0.8,           # 标签字体大小
         tl.col = "black",        # 标签颜色
         number.cex = 0.7,        # 数字字体大小
         addCoef.col = "black",   # 系数颜色
         col = colorRampPalette(c("red", "white", "green"))(100), # 颜色渐变
         mar = c(0, 0, 1, 0),     # 边距
         title = "9×9 相关性矩阵热图")

# 方法2: 使用ggplot2创建更基础的热图
library(reshape2)  # 用于数据重塑

# 将相关性矩阵转换为长格式
melted_cor <- melt(cor_matrix)

# 创建ggplot热图
ggplot(data = melted_cor, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile(color = "white") +
  scale_fill_gradient2(low = "red", high = "green", mid = "yellow", 
                       midpoint = 0, limit = c(-1, 1), space = "Lab",
                       name="相关性") +
  geom_text(aes(label = sprintf("%.2f", value)), size = 3) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  labs(title = "9×9 相关性矩阵热图", x = "", y = "") +
  coord_fixed()

# 方法3: 使用基础R的热图函数
heatmap(cor_matrix, 
        col = colorRampPalette(c("red", "white", "green"))(100),
        symm = TRUE,              # 对称矩阵
        margins = c(10, 10),
        main = "相关性矩阵热图")

# 打印数值矩阵
print("相关性矩阵数值:")
print(round(cor_matrix, 2))

# 分析显著的相关性
cat("\n显著的正相关性 (r > 0.5):\n")
high_pos <- which(cor_matrix > 0.5 & cor_matrix < 1, arr.ind = TRUE)
for(i in 1:nrow(high_pos)) {
  if(high_pos[i,1] < high_pos[i,2]) {  # 避免重复
    cat(sprintf("%s - %s: %.2f\n", 
                rownames(cor_matrix)[high_pos[i,1]],
                colnames(cor_matrix)[high_pos[i,2]],
                cor_matrix[high_pos[i,1], high_pos[i,2]]))
  }
}

cat("\n显著的负相关性 (r < -0.3):\n")
high_neg <- which(cor_matrix < -0.3, arr.ind = TRUE)
for(i in 1:nrow(high_neg)) {
  if(high_neg[i,1] < high_neg[i,2]) {  # 避免重复
    cat(sprintf("%s - %s: %.2f\n", 
                rownames(cor_matrix)[high_neg[i,1]],
                colnames(cor_matrix)[high_neg[i,2]],
                cor_matrix[high_neg[i,1], high_neg[i,2]]))
  }
}

# 保存相关性矩阵为CSV文件
write.csv(cor_matrix, "correlation_matrix.csv")

# 保存图形
png("correlation_plot.png", width = 800, height = 800)
corrplot(cor_matrix, 
         method = "color",
         type = "upper",
         diag = TRUE,
         tl.cex = 0.8,
         tl.col = "black",
         number.cex = 0.7,
         addCoef.col = "black",
         col = colorRampPalette(c("red", "white", "green"))(100),
         mar = c(0, 0, 1, 0),
         title = "9×9 相关性矩阵热图")
dev.off()

cat("\n图形已保存为 'correlation_plot.png'")
cat("\n数据已保存为 'correlation_matrix.csv'")

4.

5.后续可进行对比分析

http://www.dtcms.com/a/403663.html

相关文章:

  • 管理系统前端模板河北seo网络推广
  • Mac完整Homebrew安装教程、brew安装教程踩过的坑、brew安装总结、安装brew遇到的问题
  • 想学做网站学那个软件好淘宝代运营公司排名
  • 网站建设策划怎么谈做视频网站用什么模板
  • 千秋网络是家西安做网站的公司安装免费下载app
  • P1073题解
  • ShardingSphere 分布式数据库中间件生态
  • 使用时长提升 4 倍,融云 AI Agent 助力中东语聊应用激活新用户
  • 旅行商问题以及swap-2opt应用
  • 【知识图谱:实战篇】--搭建医药知识图谱问答系统
  • shell编程:sed - 流编辑器(3)
  • 建站最便宜的平台免费网络app
  • 《第四届数字信任大会》精彩观点:腾讯经验-人工智能安全风险之应对与实践|从十大风险到企业级防护架构
  • StarRocks 助力印度领先即时零售平台 Zepto 构建实时洞察能力
  • 法制教育网站制作伪装网站
  • cgdb 学习笔记(GDB 图形化增强工具)
  • 广州专门做网站企业网站制作公司排名
  • .h264或.264视频文件转化成mp4视频
  • 【Python】正则表达式
  • Jenkins Pipeline中关于“\”的转义字符
  • 如何与AI有效沟通:描述问题及提示词技巧
  • 网站建设连接数据库我赢职场wordpress
  • TDengine 聚合函数 ELAPSED 用户手册
  • Android音频学习(二十)——高通HAL
  • C#练习题——Lambad表达式的应用
  • Polar WEB(1-20)
  • 湖州做网站公司哪家好温州市网站制作公司
  • NW973NW976美光固态闪存NW982NW987
  • 软件测试 - 接口测试(中篇)
  • 项目进不了index.php,访问public下的html文件可以进去