让ChatGPT给你写代码????

原文链接:使用ChatGPT写代码靠谱吗?

写在前面

对于ChatGPT从我们“惊讶”到现在已经快一年多了,但是,对于个人来说,使用还是比较少的。更确切的来说,也许有些同学是没有使用过。

ChatGPT功能确实比较强大,但对于我们使用者来说,可能感觉自己使用时候并没有有直观的感受到他“所谓的强大”。对于个人来说,对于ChatGPT只是用来“搜索引擎”一样的功能。有时候,自己不会的内容,也会让它来搜索。

那么用ChatGPT来写绘图代码,或是分析代码可以吗??

对于个人来说只能说是:仁者见仁智者见智。

使用ChatGPT写一个热图绘制的ShinyApp

提问

这样的提问,也是参考了Chen CJ老师。其实,也可以不用设定他的人设,直接提问,给出的答案基本是一致的。

给出需求

给出我们自己提问的问题,以及要求。要求,尽可能详细。

ChatGPT给出回答

我们分别使用ChatGPT 3.5ChatGPT 4.0进行提问,给出的答案基本一致。

ChatGPT 3.5回答代码

# 安装所需包
if (!require("shiny")) {
  install.packages("shiny")
}
if (!require("ggplot2")) {
  install.packages("ggplot2")
}
if (!require("pheatmap")) {
  install.packages("pheatmap")
}

library(shiny)
library(ggplot2)
library(pheatmap)

# 创建一个简单的UI界面
ui <- fluidPage(
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(
      fileInput("file", "Choose a file"),
      selectInput("color_palette", "Select color palette", choices = c("viridis", "RdBu", "Blues")),
      selectInput("scale", "Choose data scaling method", choices = c("none", "row", "column", "both")),
      selectInput("output_format", "Choose output format", choices = c("pdf", "jpg", "png")),
      actionButton("draw_heatmap", "Draw Heatmap")
    ),
    mainPanel(
      plotOutput("heatmap_plot")
    )
  )
)

# 创建服务器端逻辑
server <- function(input, output) {
  data <- reactive({
    req(input$file)
    read.csv(input$file$datapath)
  })
  
  output$heatmap_plot <- renderPlot({
    req(input$draw_heatmap)
    
    pheatmap(data(), color = input$color_palette, scale = input$scale, filename = paste0("heatmap.", input$output_format))
  })
}

# 启动应用
shinyApp(ui = ui, server = server)

ChatGPT 4.0回答代码

packages <- c("shiny", "ggplot2", "heatmaply", "shinyWidgets", "colourpicker", "shinyjs")
if (length(setdiff(packages, rownames(installed.packages()))) > 0) {
  install.packages(setdiff(packages, rownames(installed.packages())))
}

library(shiny)
library(ggplot2)
library(heatmaply)
library(shinyWidgets)
library(colourpicker)
library(shinyjs)

# 定义 UI
ui <- fluidPage(

  # 添加所需的UI组件
  titlePanel("Interactive Heatmap"),
  sidebarLayout(
    sidebarPanel(
      fileInput('file1', 'Please choose a CSV file',
                accept=c('text/csv', 'text/comma-separated-values,text/plain', '.csv')),
      tags$hr(),
      checkboxInput('header', 'Header', TRUE),
      radioButtons('sep', 'Separator', c(Comma=',', Semicolon=';', Tab='\t'), ','),
      radioButtons('quote', 'Quote', c(None='', "Double Quote"='"', "Single Quote"="'"), '"'),
      colourInput("col","Heatmap Color", value = "red"),
      pickerInput("norm", "Normalization Method", choices = c("None", "Z-score", "Min-Max")),
      checkboxInput("cluster", "Cluster", FALSE),
      checkboxInput("sig", "Significance", FALSE),
      pickerInput("out", "Output Format", choices = c("PNG", "JPEG", "PDF")),
      actionButton("plotButton","Plot")
    ),

    mainPanel(
      plotlyOutput("heatmap")
    )
  )
)

# 定义服务器逻辑
server <- function(input, output) {
  data <- reactive({
    file1 <- input$file1
    if(is.null(file1)){return()} 
    read.csv(file=file1$datapath, sep=input$sep, header = input$header, stringsAsFactors = FALSE)
  })

  observeEvent(input$plotButton, {
    output$heatmap <- renderPlotly({
      if(input$norm == "Z-score"){
        data_norm <- scale(data())
      } else if(input$norm == "Min-Max"){
        data_norm <- (data() - min(data())) / (max(data()) - min(data()))
      } else {
        data_norm <- data()
      }
      heatmaply(data_norm, colors = colorRampPalette(input$col), k_row = ifelse(input$cluster, NA, 1), k_col = ifelse(input$cluster, NA, 1), labRow = ifelse(input$sig, rownames(data()), NULL))
    })
  })
}

# 运行应用
shinyApp(ui = ui, server = server)

代码运行后结果

给出的交互网页,也是一个比较简易的。使用好几个要求并没有写上去,也许是我们的提问不科学,未能识别。

结束

ChatGPT固然方便,但是,给出的答案还是需要我们自己来甄别。目前的ChatGPT还算可以,简单的代码可以正常运行,比刚开始时候提高了一些。但是,始终我们只能作为一个参考。

若我们的分享对你有用,希望您可以点赞+收藏+转发,这是对小杜最大的支持。

往期文章:

1. 复现SCI文章系列专栏

2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

3. 最全WGCNA教程(替换数据即可出全部结果与图形)

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三

  • WGCNA分析 | 全流程分析代码 | 代码四

  • WGCNA分析 | 全流程分析代码 | 代码五(最新版本)


4. 精美图形绘制教程

  • 精美图形绘制教程

5. 转录组分析教程

转录组上游分析教程[零基础]

一个转录组上游分析流程 | Hisat2-Stringtie

小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【latex】\IEEEpubid版权声明与正文内容重叠

问题描述 撰写IEEE Trans论文时&#xff0c;出现版权声明文字\IEEEpubid与正文内容重叠的问题&#xff1a; 原因分析&#xff1a; 在使用模板时&#xff0c;不小心将以下命令删除了&#xff1a; \IEEEpubidadjcol 解决方案&#xff1a; 在需要换页的位置附近添加以上命令&…

Spring Cloud Nacos集成Seata2.0 AT模式

Spring Cloud Nacos集成Seata2.0 AT模式 以CentOS 7为例&#xff0c;介绍Spring Cloud Nacos集成Seata2.0 AT模式的流程。分成两个步骤&#xff1a;1.安装配置seata-server、2.项目集成seata-client 一、下载seata-server安装包 根据自己的操作系统选择要下载的安装包格式&a…

计算机指令、指令跳转原理

文章目录 前言存储程序型计算机代码怎么变成机器码&#xff1f;解析指令和机器码CPU 是如何执行指令的&#xff1f;CPU中的寄存器 if…else 来看程序的执行和跳转分析 通过 if…else 和 goto 来实现循环 前言 大家好我是jiantaoyab&#xff0c;这是我所总结作为学习的笔记第三篇…

【漏洞复现】某厂商上网行为管理系统static_convert命令执行漏洞

Nx01 产品简介 天融信上网行为管理系统是天融信公司凭借多年来的安全产品研发经验&#xff0c;为满足各行各业进行网络行为管理和内容审计的专业产品。 Nx02 漏洞描述 天融信上网行为管理系统老版本static_convert.php接口存在RCE漏洞&#xff0c;攻击者利用此漏洞可以获取服务…

贪心(基础算法)--- 区间选点

905. 区间选点 思路 &#xff08;贪心&#xff09;O(nlogn) 根据右端点排序 将区间按右端点排序 遍历区间&#xff0c;如果当前区间左端点不包含在前一个区间中&#xff0c;则选取新区间&#xff0c;所选点个数加1&#xff0c;更新当前区间右端点。如果包含&#xff0c;则跳…

vscode中eslint插件不生效问题

case: 最近使用webpack打包js资源中使用到了VS Code中的eslint插件辅助eslint plugin对代码进行校验&#xff0c;却在.eslintrc.js文件中以及webpack.config.js配置好后&#xff0c;在控制台运行npx webpack可以读取到eslint plugin的检测结果; 1. 但是eslint插件却始终不生效…

Python爬取天气数据及可视化分析!(含源码)

天气预报我们每天都会关注&#xff0c;我们可以根据未来的天气增减衣物、安排出行&#xff0c;每天的气温、风速风向、相对湿度、空气质量等成为关注的焦点。本次使用python中requests和BeautifulSoup库对中国天气网当天和未来14天的数据进行爬取&#xff0c;保存为csv文件&…

C++ sort排序

sort函数接受两个迭代器作为参数&#xff0c;分别表示要排序的范围的起始和结束位置。 请注意&#xff0c;sort函数默认使用小于运算符&#xff08;<&#xff09;来比较元素的顺序&#xff0c;默认从小到大排。 在这里&#xff0c;使用str.begin()和str.end()来表示整个字符…

华为机试-算法一

寻找身高相近的小朋友 小明今年升学到了小学1年纪来到新班级后&#xff0c;发现其他小朋友身高参差不齐 然后就想基于各小朋友和自己的身高差&#xff0c;对他们进行排序请帮他实现排序 输入描述 第一行为正整数 h和n 0<h<200 为小明的身高 0<n<50 为新班级其他小…

Muduo库编译学习(1)

1.muduo库简介 muduo是由Google大佬陈硕开发&#xff0c;是一个基于非阻塞IO和事件驱动的现代C网络库&#xff0c;原生支持one loop per thread这种IO模型&#xff0c;该库只支持Linux系统&#xff0c;网上大佬对其褒贬不一&#xff0c;作为小白用来学习就无可厚非了。 git仓库…

阅读笔记 | Transformers in Time Series: A Survey

阅读论文&#xff1a; Wen, Qingsong, et al. “Transformers in time series: A survey.” arXiv preprint arXiv:2202.07125 (2022). 这篇综述主要对基于Transformer的时序建模方法进行介绍。论文首先简单介绍了Transformer的基本原理&#xff0c;包括位置编码、多头注意力机…

二十三、剖析 LinkedList

剖析 LinkedList 本文为书籍《Java编程的逻辑》1和《剑指Java&#xff1a;核心原理与应用实践》2阅读笔记 ArrayList随机访问效率很高&#xff0c;但插入和删除性能比较低&#xff1b;LinkedList同样实现了List接口&#xff0c;它的特点与ArrayList几乎正好相反。除了实现了L…

springboot240基于Spring boot的名城小区物业管理系统

基于Spring boot的名城小区物业管理系统的设计与实现 摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于物业信息的管理和控制&#xff0c;采用人工登记的方式保存相关数…

来不及了!大学必须完成的四件事!

老师们常说&#xff0c;上大学就轻松了 其实不然 大学不是人生的终点&#xff0c;而是新的起跑线 不是休息站&#xff0c;而是进入社会的最后冲刺跑道 大学生活苦乐参半&#xff0c;成人世界即将来临 出了校门&#xff0c;你会发现社会复杂多变&#xff0c;需要不断学习 稍…

社区店选址评估:利用大数据选址的技巧与策略

在当今数字化的时代&#xff0c;利用大数据进行社区店选址评估已成为一种高效、科学的方法。作为一名开鲜奶吧5年的创业者&#xff0c;我将分享一些利用大数据选址的技巧与策略&#xff0c;帮助你找到最适合的店铺位置。 1、确定目标商圈 在选址之前&#xff0c;首先要明确自己…

airTest连接雷电模拟器后,打开横屏游戏,airTest设备窗显示游戏是横屏,雷电模拟器却显示竖屏

目录 airTest连接雷电模拟器后&#xff0c;打开横屏游戏&#xff0c;airTest设备窗显示游戏是横屏&#xff0c;雷电模拟器却显示竖屏 原因&#xff1a;雷电模拟器4会出现兼容性问题。 解决&#xff1a;升级到雷电模拟器9.0.66(9)&#xff0c;可解决该问题。

输出梯形 C语言

解析&#xff1a;这个输出图形的题就是一个找规律加数学计算&#xff0c;我们发现每行比上一行多两个*&#xff0c;最后一行的*表达式为h&#xff08;h-1&#xff09;*2&#xff0c;即3*h-2&#xff0c;那么每一行就是一个先输出最后一行&#xff0d;当前行*个数个空格&#xf…

用Java语言创建的Spring Boot项目中,如何传递List集合呢?

前言&#xff1a; 在上篇文章中&#xff0c;用Java语言创建的Spring Boot项目中&#xff0c;如何传递数组呢&#xff1f;&#xff1f;-CSDN博客&#xff0c;我们了解到Spring Boot项目中如何传递数组&#xff0c;但是&#xff0c;对于同类型的List集合&#xff0c;我们又该如何…

搜素题目(蓝桥杯 C++ 代码+注解)

目录 题目一&#xff08;小朋友崇拜圈&#xff09;&#xff1a; 代码&#xff1a; 题目二&#xff08;穿越雷区&#xff09;&#xff1a; 代码&#xff1a; 题目三&#xff08;分考场&#xff09;&#xff1a; 代码&#xff1a; 题目四&#xff08;受伤的皇后&#xff09…

蓝桥ACM培训-队列

前言&#xff1a; 第三天的练习&#xff0c;今天主要与队列queue有关。 正文&#xff1a; Problem:A 周末舞会-队列&#xff1a; #include <bits/stdc.h> using namespace std; int m,n,k,tmp1,tmp2; queue<int>q1,q2; int main() {cin>>m>>n>>…