分享Claude。

访客 239 0

相关性分析是揭示变量间联系的基础,本文通过大型语言模型(llm),claude和deepseek进行相关性分析并绘制显著性星号标记的热图。

有趣的是,初步观察表明,这两种模型在解决此类问题时展现出鲜明的“个性”:DeepSeek似乎倾向于更深入的沟通与思考来引导用户,而Claude则以其直截了当、快速给出解决方案的风格著称,更节省时间。本文聚焦于“相关性分析与‘星号’标记热图绘制”这一具体场景,旨在对比评测Claude与DeepSeek在任务理解、代码生成、交互体验以及最终实现高效绘制目标上的表现差异,探讨不同AI风格对特定科研任务效率的实际影响。

期望成果展示

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图1 图1

图1 使用AI辅助生成并调试的R代码绘制的相关性热图。颜色代表相关系数(例如,橙色表示正相关,紫色表示负相关),颜色的深浅表示相关性强度。单元格中的星号表示基于p值的统计显著性水平(例如, p p p

示例数据的准备

为了演示,我们需要一组适合进行相关性分析的数据。这里我们模拟两组变量(例如,一组代表微生物丰度,另一组代表环境因子;或者简单地使用R内置数据集如mtcars的部分变量)。关键是数据需要是数值型的,并且组织成数据框(data frame)或矩阵(matrix)的格式。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图2 微生物丰度表 图2 微生物丰度表

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图3 环境因子表 图3 环境因子表

这份清晰、结构化的数据是后续分析的基础。

● 数据结构概念: 假设我们有两个矩阵 X (n x p) 和 Y (n x q),我们想分析 X 中p个变量与 Y 中q个变量之间的相关性。或者,我们有一个包含所有变量的数据框 df,想分析其中特定几列之间的相关性。

● 示例 (R代码):

# 创建模拟数据
set.seed(123) # 保证结果可重复
matrix1 <- matrix(rnorm(100), nrow = 10, ncol = 10)
matrix2 <- matrix(rnorm(100), nrow = 10, ncol = 10)
df <- data.frame(matrix1, matrix2)
登录后复制

生成相关性分析与绘图代码

分别打开Claude、Deepseek上传范例数据。Claude点击“+”上传文件,Deepseek点击“回形针”上传文件。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图4 Claude 图4 Claude

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图5 Deepseek 图5 Deepseek

接下来,我们向Claude、Deepseek分别提出我们的需求。关键在于清晰、具体地描述任务。

输入指令:

使用psych包对附件“OTU.csv”中的微生物丰度OTU和“envs.csv”文件中的环境因子进行pearson相关性分析,提取相关性系数矩阵和p值矩阵,并使用ComplexHeatmap包绘制聚类热图,X和Y轴分别为环境因子和OTU,确保热图的格子的宽和高都为0.7,格子的描边为白色,粗细为1.2,聚类树的高度为1.5cm,热图的配色方案为:#9370DB,white,#FF7F24,热图图例标题为“correlation”,文本的字体大小为7。

Claude经过5秒的思考,给出了分析绘图代码。deepseek经过274秒的深度思考,给出了分析绘图代码。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制我们就得到了相关性分析及绘图代码。点击以上代码块右上角的“复制”按钮,将Claude、Deepseek生成的R代码分别复制粘贴到Rstudio的脚本编辑器中运行。

对于本次相关性分析及绘图要求,Claude理解到位,很顺利的运行成功。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图6 Claude生成代码 图6 Claude生成代码

Deepseek的代码运行出错,报错信息如下:

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图7 Deepseek生成代码报错 图7 Deepseek生成代码报错

继续向Deepseek输入优化报错代码指令:

绘制热图时出错,请继续优化这部分代码,报错信息如下:错误于Heatmap(matrix = r_matrix, name = "Cor", col = col_fun, rect_gp = gpar(col = "white", : 参数没有用(row_height = unit(0.7, "cm"), column_width = unit(0.7, "cm"))

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图8 代码修改优化 图8 代码修改优化

然后复制DeepSeek修改后的代码,粘贴到Rstudio的脚本编辑器中运行,如下图。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图9 Deepseek优化后代码 图9 Deepseek优化后代码

经过调试,Deepseek也能够准确绘制期望图形。

我们还可以在给出代码的基础上继续优化,比如根据P value矩阵,在热图上添加显著性“星号”标记等。

继续输入优化代码指令:

在以上热图绘制代码上继续优化:更改多级显著性标记(如: p : p : p

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图10 Claude页面 图10 Claude页面

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图11 Deepseek页面 图11 Deepseek页面

最终代码与结果确认

经过调试,Claude和Deepseek都得到了一套能够稳定运行并产生预期结果的R代码。Claude最终优化后的R代码 (示例):

# 加载所需的R包
library(psych)
library(ComplexHeatmap)
library(circlize)  # 用于自定义热图颜色
<h1>读取数据</h1><p>otu_data <- read.csv("OTU.csv", row.names = 1)
env_data <- read.csv("envs.csv", row.names = 1)</p><h1>计算相关性</h1><p>cor_matrix <- cor(otu_data, env_data, method = "pearson")
p_matrix <- cor.test(otu_data, env_data, method = "pearson")$p.value</p><h1>创建颜色函数</h1><p>col_fun <- colorRamp2(c(-1, 0, 1), c("#9370DB", "white", "#FF7F24"))</p><h1>定义显著性标记</h1><p>sig_matrix <- matrix("", nrow = nrow(cor_matrix), ncol = ncol(cor_matrix))
sig_matrix[p_matrix < 0.001] <- "<em><strong>"
sig_matrix[p_matrix < 0.01 & p_matrix >= 0.001] <- "</strong>"
sig_matrix[p_matrix < 0.05 & p_matrix >= 0.01] <- "</em>"</p><h1>绘制热图</h1><p>ht <- Heatmap(cor_matrix, 
name = "correlation",
col = col_fun,
row_names_gp = gpar(fontsize = 7),
column_names_gp = gpar(fontsize = 7),
rect_gp = gpar(col = "white", lwd = 1.2),
cell_fun = function(j, i, x, y, width, height, fill) {
grid.text(sig_matrix[i, j], x, y, gp = gpar(fontsize = 7))
},
cluster_rows = TRUE,
cluster_columns = TRUE,
row_dend_width = unit(1.5, "cm"),
column_dend_height = unit(1.5, "cm"),
heatmap_legend_param = list(title = "correlation"))</p><h1>绘制热图</h1><p>draw(ht)
登录后复制

Deepseek最终优化后的R代码 (示例):

# 加载必要的包
library(psych)
library(ComplexHeatmap)
library(circlize)</p><h1>读取数据</h1><p>otu <- read.csv("OTU.csv", row.names = 1)
envs <- read.csv("envs.csv", row.names = 1)</p><h1>计算相关性</h1><p>cor_matrix <- cor(otu, envs, method = "pearson")
p_matrix <- cor.test(otu, envs, method = "pearson")$p.value</p><h1>创建颜色函数</h1><p>col_fun <- colorRamp2(c(-1, 0, 1), c("#9370DB", "white", "#FF7F24"))</p><h1>定义显著性标记</h1><p>sig_matrix <- matrix("", nrow = nrow(cor_matrix), ncol = ncol(cor_matrix))
sig_matrix[p_matrix < 0.001] <- "<em><strong>"
sig_matrix[p_matrix < 0.01 & p_matrix >= 0.001] <- "</strong>"
sig_matrix[p_matrix < 0.05 & p_matrix >= 0.01] <- "</em>"</p><h1>绘制热图</h1><p>ht <- Heatmap(cor_matrix, 
name = "correlation",
col = col_fun,
row_names_gp = gpar(fontsize = 7),
column_names_gp = gpar(fontsize = 7),
rect_gp = gpar(col = "white", lwd = 1.2),
cell_fun = function(j, i, x, y, width, height, fill) {
grid.text(sig_matrix[i, j], x, y, gp = gpar(fontsize = 7))
},
cluster_rows = TRUE,
cluster_columns = TRUE,
row_dend_width = unit(1.5, "cm"),
column_dend_height = unit(1.5, "cm"),
heatmap_legend_param = list(title = "correlation"))</p><h1>绘制热图</h1><p>draw(ht)
登录后复制

结果核查: 我们仔细检查生成的图,确认颜色、数值(如图显示)、星号标记都符合预期,并且与我们的统计学理解一致。

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图12 Claude代码绘图 图12 Claude代码绘图

Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制图13 Deepseek代码绘图 图13 Deepseek代码绘图

通过针对“相关性分析与‘星号’标记热图绘制”任务的对比实践,我们清晰地看到了Claude与DeepSeek在辅助科研编程时的显著特性差异。Claude以其“直达答案”的效率给人留下深刻印象,尤其适合目标明确、流程标准的任务,能迅速提供可用代码框架。相比之下,DeepSeek在需要细致调整或探索性较强的场景中,其“深度思考”与“沟通”能力则显现优势,通过引导式交互可能产生更优化或个性化的方案,尽管耗时可能更长。

因此,“高效”的定义在此变得具有相对性:是追求最短时间获得可行代码(Claude的潜在优势),还是追求在互动中加深理解并获得定制化方案(DeepSeek的潜在优势)?这取决于用户的具体目标与偏好。本次比较的核心启示在于,理解并选择与任务需求、个人工作风格相匹配的AI“助手”,是提升未来研究效率的关键。我们期待AI模型能在速度与深度、直接性与交互性之间找到更优的平衡点,成为科研人员更得力的智能伙伴。

以上就是Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制的详细内容,更多请关注楠楠科技社其它相关文章!

标签: #星号 #高效 #相关性