2021第二期_数据挖掘班_微信群答疑笔记

2021-07-29 11:36:58 浏览数 (1)

做教学我们是认真的,如果你对我们的马拉松授课(直播一个月互动教学)有疑问,可以看完我们从2000多个提问互动交流里面精选的200个问答!

与十万人一起学生信,你值得拥有下面的学习班:

  • 生信入门课-2021第6期
  • 数据挖掘(GEO,TCGA,单细胞)2021第6期

下面是2021第一期生信入门微信群答疑精选200题

  1. 有免疫相关基因集下载的地方吗?还是有专门的包解决这个问题
    1. 搜索我们生信技能树公众号历史教程,请看:免疫相关基因数量到底是多少个
  2. 老师,课前安装的软件可以装在E盘吗?C盘空间不多了
    1. R和 Rstudio 要安装在C盘,其他软件关系不大
  3. 老师,Windows系统只需要装R语言以及rstudio,Git,还有微信电脑版,钉钉这5个软件?其它不需要是吗?
  4. 老师,我圈的这些是不是重复的基因啊?
    1. 看起来应该是同一个基因的 不同可变剪切版本,有些基因是已经注释到可以精确到可变剪切版本的程度的,
  5. 请问老师,git一定要安装在系统盘嘛?
    1. 建议C盘
  6. 我的library文件夹,没有150多个文件,只有30个?
    1. 运行最后的 library 代码,如果有看到 ERROR,就把对应的包重新安装一遍,没有 ERROR 就不用管。因为你的包有两个不同的文件夹存放,上完课就懂了
  7. 老师,Mac是不是就不用下载git了
    1. 是的,Mac不需要git
  8. 安装R包的网页打不开怎么办,换了好几个网络了。
    1. 群内反馈助教解决
  9. RStudio安装失败,怎么解决?
    1. 安装有顺序哦,先安装R语言哈
  10. igv安装以后双击没反应,打不开软件,是怎么回事
    1. 这是正常的,igv 打开需要耗费一定的内存,还要网络好一点,关掉一些无关的程序,再试试。如果一闪而过,就先放放,下次再试试
  11. 有纸质版资料嘛?
    1. 线上直播,资料都是电子版的,先做好准备工作,课件在课前发
  12. 老师,请问下,在R包安装的时候遇到下面截图的问题,也已经按照提示进行修改,为什么还是会提示cannot open URL啊
    1. 把 https改成http
  13. 是否更新?

这是运行的代码

  1. 先不更新,library后无报错就可以了
  2. 只要先安装钉钉,Git,R ,R Studio和微信,这5款软件是吗?其他的先不用管
    1. 是的
  3. 老师,刚不小心把Rstudio控制台上的console、jobs中间的小窗therold(忘记怎么拼写了)给关了[捂脸],请问怎么恢复呢?[抱拳]
    1. 搜索一下 Rstudio terminal
  4. 老师红框里边的怎么理解?
  1. x是一个数值型向量,任何数字放在!后边都是F,除了0。第一,!意为取反,后边放数字,会发生数据类型转换,数值型转换成逻辑型;任何数字除了0,转换成逻辑型,都会转换成T,因此,取反均为F。
  1. 老师,为什么我这个csv读取出来,第一列表头是乱码,其他列又是好的呢
    1. 因为这个文件用Excel表格打开过,读取乱码就把乱码的列名重新命名一下就行。
  2. 尝试写了一个函数,把每一列提取出来变成新的CSV,但是在文件名的命名上好像没办法实现自动化?
    1. file=的后面应该写引号里加文件名对不对?一个文件名的本质是个字符串,这个字符串可以用paste0来生成,
  3. 老师 麻烦问一下rio包是不能实现两个excel合并的功能吧 我倒腾了半天 读入是没有问题的 但是合并就是不成功 看了包里函数的帮助 好像也没有是这个功能的
    1. 你是不是理解错了?我说的是他可以读取含有多个工作簿的Excel,我并没有说过他能够合并两个Excel呀。还有就是分步骤解决,比如不要试图用一个用来读取的函数来合并数据
  4. 老师,请教一下课堂外的问题。可以通过数据库根据circRNA预测miRNA吗?
    1. 构建网络用吗?据我所知中间似乎需要连上mRNA,有的文章是:用miRNA 预测circRNA,然后和用芯片筛选出来的circ RNA取交集,用的预测数据库叫CircInteractome
  5. 老师,为什么merge之后,列名有了后缀“.x”“.y”?
    1. 这个是因为你用merge的时候,可能有重复的列名存在,所以它就分了“.x”“.y”
  6. rio包export还不能直接导出来excel的格式,导csv汉字又会乱码,encoding = "UTF-8"的参数还不能写在export里面,帮助里面让用write.xlsx函数导出,但是rio包里面没有这个函数,就又重新下载安装了write.xlsx函数的包,再用这个函数把文件写出来
    1. 纠正一下,export可以到处xls,或许是xlsx
  7. 老师,我还是没懂,新建的任意Rproj不可以读取工作目录的任意CSV文件吗
    1. 你或许你是新建了一个文件夹,但是并没有切换project,所以导致你认为的工作目录并不是真正的工作目录。实在不确定自己的工作目录在哪里,你就用getwd返回一下结果,getwd() 里面不用填任何信息
    2. 能不能读取成功, 主要取决于你的文件在不在你的当前目录, 如果不在, 你得指定文件所在的位置. 你新建的Rproj是空的, 里面没有任何文件, 因此你如果要读取不属于你这个新建的Rproj的文件的话, 要么指定文件所在的具体位置, 要么回到之前的Rproj去, 要么把你要的文件复制或者移动到你新建的这个Rproj里来
  8. 学员笔记
    1. https://www.yuque.com/docs/share/ce6637cb-c025-46f6-b690-093a613cd402?# 《R语言入门-生物技能树》
    2. https://www.yuque.com/docs/share/5de587c1-af44-495a-9a24-9dc50de384f3?# 《小洁老师布置作业之终极练习题》
  9. 各位老师好,我课题有个问题,想咨询一下。你好 又打扰了,我分别导入了72个样本的.rds文件,如P39 <- readRDS("../00data/P39.rds"),再用seurat的FindIntegrationAnchors()函数将其整合,这个地方用list 还是 c呢?我用list这一步没有错误,下一步就报错了,我觉得 应该用c
    1. library(harmony)

seuratObj <- RunHarmony(sce, "orig.ident")

names(seuratObj@reductions)

seuratObj <- RunUMAP(seuratObj, dims = 1:15, reduction = "harmony")

  1. 建议使用 harmony,你这么多单细胞数据集的整合,harmony会友好很多哦,你只需要指定sce的某一列,需要被整合的那个因素
  2. 如果用seurat的话,FindIntegrationAnchors()使用list(),把72个单独的对象,生成一个list列表
  3. 昨天练习里用到的mpg文件,可以view,可以根据它画图,可是在工作目录里并没有,请问这个文件在哪里呢?
    1. 内置的数据 有点像iris ,mpg是在ggplot2 package的内置dataset 这边可以查看 https://vincentarelbundock.github.io/Rdatasets/datasets.html
  4. 各位老师好,我好奇地想问一下这下面的conflicts是表示啥意思呀?
  1. 函数的名称和其他R包一样,使用的时候会有一点冲突,使用的时候指定一下R包,tidyverse 和 dplyr 出自于同一个人,不存在冲突的问题
  2. 老师,那之前讲过的pheatmap::pheatmap是不是也是这个原因,当时觉得这个很怪
    1. 两个冒号表示的是包的名字和函数名字的连接,这个只不过是因为包的名字和函数名字重合了一样,和上面讲的不是一回事。
  3. 老师,写ggplot代码的时候,请问什么时候需要缩进和换行?
    1. 只是为了美观
  4. 老师我在安装R包的时候现实在非零状态,我自己上网百度了解决方案,试了试还是不行
    1. 看看二进制版本
  5. 这是我们自己测序的数据,公司发来的结果,他注释到GO通路之后出现很多P值等于0的,这种应该怎么理解呢
  1. 设置接近于0,精度不够,直接把它约等于0了,如果有差异基因列表,自己做
  1. 我安装“DO.db”显示是non-zero exit ststus
    1. https://mp.weixin.qq.com/s/T3Y9BAklCx8YFa6TN9VHdA
  2. 求助老师,这个神奇的org.Hs.eg.db包到底怎样装才对,总是装的时候没问题,加载就报错,包还用不了
    1. 这个包可能是在更新,很多人最近遇到了这个问题,试试安装旧版本

关于 library("org.Hs.eg.db") 包的报错,问题在于新版本的 RSQLite 存在 bug,解决方法是安装旧版本的 RSQLite:

  1. 重启 RStudio
  2. 关掉杀毒软件,然后运行代码 install.packages("https://cran.r-project.org/src/contrib/Archive/RSQLite/RSQLite_2.2.5.tar.gz",repos = NULL,type = "source")
  3. 仍然报错的情况下,找到RSQLite的工作目录删除原来的RSQLite,关了Rstudio,重新安装RSQLite
  4. 老师,昨天晚上讲的富集通路的PPT,为什么右下角那个通路那么宽呢?
    1. 封面默认是按照每一张子图的大小都是一样的,所以他才会变成这样,你觉得你就找一找分面怎样自由设置,有一个参数,可以实现,就让他们根据自己的实际情况来设置这个宽度。
  5. 关于批量安装R包
    1. 参数:character.only ,意思是,a logical indicating whether package or help can be assumed to be character strings,如果把课上代码的T改成F ,包名则不会被当成字符串 运行的时候会把pkg当成了一个包的名字
  6. 老师提取临床信息那里,您直接告诉我们用pData,但是我在帮助文档里面看了半天,和pData在一起的小伙伴还有这么多,如果我们接触一个新的狭义的对象要用,怎么知道在这里面选pData还是比如phenoData呢?这个例子我试了 我们要的pData实际上就是包含在phenoData里面的
    1. 有一些对象很出名,【先搜索后提问】搜索我们生信技能树公众号历史教程,自行点击教程学会在技能树[公众号历史教程里面根据关键词查询,https://mp.weixin.qq.com/s/TQqKlNRRbSYPM74D7mflsg,基本上初学者问题都有解决方案!关键词,对象
  7. 只能画成这样了 gene10的顺序实在是调不动了
    1. 就是画图合辑第二张图一样的问题,用有序因子解决
  8. xena和tcga数据唯一的不同是不需要匹配ID是吗?除了匹配去重复和分组后面的步骤都和tcga自己下的数据一样的流程吗?
    1. 如果你问的是SCDA下载数据和GDP下载数据之间的区别,那我倒是可以跟你说一下,GDC下载相当于从官网上下载数据是一手的SDNA呢,它是下载好了之后帮你整理好了的,你说的匹配ID,如果指的是给他添加那个列名这个操作的话,那这倒不算是一个区别,是你整理一手数据过程中所经历的一个小问题,然后把它解决掉了而已。SA,它能达到的目的就是说得到表达举证和临床信息表格,这两个其实准确来说应该是三个,因为它把临床信息表格拆成了两个对吧,然后GDC呢,这两个数据你也可以得到,但是是自己整理出来的,他们之间不存在本质的区别,至于后面的步骤一不一样,你到时候再看就可以。
  9. 是再xena里面read.table 之后再按照gdc-client整理表达矩阵吗
    1. X ena和JDC是两个独立的办法,GDCDC是管下载的,而XXN是下载了之后,你不管你别管人家拿什么东西下载的,人家是下载完之后帮你整理好了,成成为了一个表达,取证并不需要他俩做之间做什么衔接,他俩是并列的两种手段,目的都是拿到一个表达取证和一个临床信息表格。
  10. 老师们好,想请问一下这个报错是什么原因?之前跑的时候都可以 这次出了这个报错
  1. 拉宽拉大画板是一个选择,然后再重启,这个代码是没有任何问题的,肯定是出在你电脑上的一些配置,或者说这个画板的大小啊,或者临时抽一下风,重启就能解决之类的,是一个随便探索一下就能解决的一个偶然性问题。
  1. 老师,gene symbol后的数字是什么意思?代表同一基因吗?
    1. 是的
  2. 老师,为啥转录组的limma包分析比芯片的在构建model.matrix的时候要多加一个0?
    1. 用这个函数作为关键词,搜索,我分享过
  3. 老师,我想问个问题,这个对照只有2个normal,出来的PCA图,没有明显分群分开,适不适合继续做后续分析呀?
    1. 继续做另外两张图,结合着一起看
  4. 请问下载这个GEO数据的时候 出现这个报错是什么原因?
  1. 作者组织的这个文件有点特殊,读取的时候,默认参数搞不定,需要去找找参数,也有更快解决问题的办法,就是annoprobe
  1. 做差异分析时,报错,这是我的exp列名,是不是要把空白列去掉呀,为啥会有空白列呢?
  1. 哪一步产生了空白列名,需要你自己返回去检查,想最快实现目的,就xena下载,想锻炼解决问题的能力,就多试试搜搜
  1. 想请问老师们 别的软件出的图是不能导入patchwork拼图的吗 我用png这个包导入图片之后 报错了 不知道有没有什么解决的方法 或者有没有什么可以用来拼png格式的包?
    1. 不行
  2. 如何检查数据框中的NA,只能肉眼去看吗?
    1. 函数,is.na,加table来检查
  3. 我的R是3.6版本的 经常装包出现上面这种情况 用conda装包会简捷一些么?还是有什么其他的好法子呢 等待老师赐教[愉快]
    1. 有几种解决方法,一、联系你们服务器管理员升级一下服务器上的R;二、自己用conda创建一个小环境,装R 4.0,然后在小环境装这个包
    2. 方法一比较方便一些,方法二一般只能在命令行使用,即你要使用服务器的Rstudio-server会有问题,对应的解决方法可以参考 https://mp.weixin.qq.com/s/0Xy5uniTz8QUjM57pNOj0g,还有其他方法,比如安装旧版本的等
  4. 老师,我TCGA下扒下来的xml列数不一样,怎么转换成数据框呀?
    1. https://mp.weixin.qq.com/s/VyRiNkoa2ChKNf4xd3fHTA
  5. GEO数据库只想分析其中一部分样本,根据str_detect关键词分组之后除了control 和treat,还有一堆空白的组怎么删掉?
    1. 提前删掉呀空白组,dat[dat$12 !=="",]
  6. 老师,我目前处在数据质控的那一步,想根据曾老师的推文做那三个质控图的层次聚类图的,但是挑了标准差最大的1000个基因出来做的层次聚类图好丑,这个层次聚类图展示的基因数量最少可以到多少个呀?
    1. 100,500,1000的差不多,你这个问题在于,热图没有zscore,没有使用我们的标准代码。见链接诶https://mp.weixin.qq.com/s?src=11&timestamp=1625587580&ver=3174&signature=-a3uCODBJXJ01v4cUADHImd3BsumZTkRrrXqaPfrLjH*UhzfkPW6n6hIiyX2EDziqH3w0nOachGrRJTac30CydQ4GRUnZ*fgCso2IcF5amBwUsLRKsAc2jFStHD3i5dx&new=1
    2. 老师我还想问,如果boxplot和PCA图没问题,热图再加个zscore修改一下的话,层次聚类图可以省略吗?
    3. 不冲突,省不省略都不影响后续,不要纠结,继续做下去
    4. 老师,您说的这个,我的理解是把scale后的数据绝对值超过2的都限定在2,然后再作图,相当于在作图过程中修改一下参数的意思?就不涉及操纵原始数据,后面做差异分析的时候还是会用原始矩阵里面的数据来做,而这一步限定范围只是为了图形更直观地看出差异,这样理解?
    5. 后面做差异分析的时候还是会用原始矩阵里面的数据来做,这一步限定范围只是为了图形更直观地看出差异
  7. 老师,我在批量生存分析的时候有这个报错,我试了第一个基因运行没有错误,运行循环就有这个错误
    1. 你的基因需要过滤一下,低表达得太多了 比如全都是有25个样本里15个0,那按照中位数分会怎么样?过滤方法参考tcga-1的第一个rmd
  8. 老师 做WGCNA 这几个模块可以取吗,一般可以取的下限是多少呀?
    1. 确实相关性不高,矮子里面拔将军呗
  9. 老师,我想对上调的43个基因做GSEA分析,然后它报了这个错误,是我的基因数量太多了吗?
    1. GSEA 是对全部的基因,上调的43个基因做GSEA分析,这个是错误的说法,gsea无需筛选基因,仅仅是EDGs排序即可;筛选基因后, 就是超几何分布的富集,两码事
  10. 请问set.seed括号里的数字是只是一个序列号,没有什么意义,把代码里的12345679替换成其他任意一个数字都可以是吗
    1. 是的
  11. 那一个project里的不同脚本之间 用同一个序列号也是相同的?我看lasso回归和多因素cox用的是同样的序列号 刚刚看了下结果好像也是一样的
    1. 是的
  12. 老师好,我又找不到对象了
  1. k大小写
  1. 在做生存分析的数据准备的时候,在以code作为行名的时候出现了这种状况怎么处理?这种是正常的吗?

这个数据也是xena下载的,为什么?

  1. 你在把数据读入到R的时候,需要设置一下读取的参数

  1. 只写函数名,不打括号,可以看写函数的代码
  2. 大家好,我在做探针注释的时候,用getGEO和idmap得到的探针/基因名的数据框差别很大,请问有同学知道是哪里出问题了吗,谢谢!
    1. 差别大是很正常的,很多探针没意义哦,以哪个为准都可以的
  3. 老师们,如果在构建lassco模型时使用了两个数据集分别作为训练集和测试集,那么在下一步多因素cox中,是应该将两个数据集合并进行分析,还是只是用训练集进行分析呢?
    1. 分开
  4. 你说的混淆其实是不应该的,GEO数据是从一个log之后的表达矩阵开始。TCGA是从count开始,如果你实在不确定,比如说差异分析,要的输入数据到底是什么的话,找到我们TCGA的原始的那个脚本,然后把第一步加载数据,看看表达矩阵是大的还是小的就行了。dat=Log2(CPM 1),画热图包括做后续的分析,用的是CPM的数据,并且是取过log的,但是差异分析和这个是没有关系的,后面那是可视化,还有做后续分析用的差异分析,用的就是原始的count数据。
  5. 我想问一下,在lasso回归的时候,meta的数据中,有一个病人的event是na,这样的话做出来会报错,但是又要求expset和meta的病人一一对应,又不能去除那个na,这咋整呢?
    1. 本来一一对应,按照相同的条件去掉na后,还是一一对应
  6. 老师,这咋整呀。就一条线了
  1. 乳腺癌我之前做过分析,能找到挺好的基因。你在这之前做了什么筛选,把筛选条件调整一下吧。
  1. 请问我想做富集分析的时候 因为deg里没有ENTREZID 所有我用了ENSEMBL,怎么富集不出来呢
    1. 可能是你的ENSEMBL有小数,取整之后好像就行了
  2. 老师,我已经建好一个模型了,要画风险因子三联图。 画图需要predict()的预测值(fp)。训练集和测试集的预测值的代码是哪种呀?查了很多,有的是两个代码都要代入各自的数据,有的只是测试集需要代入测试集的数据。
    1. 我不知道你说的三图联动是两张图,分别画的意思,是吗?如果是训练集和测试集分开来画的话,应该是各自组织数据各自去画图才对,用训练集的时候predict直接写model就行,因为默认的那个new data就是你建模的那个数据,不用写上,如果是换了一个数据的话,那你就写上newdata等于哪个数据,他们俩的差别仅仅在这一个地方。
  3. 老师们,我从gdc官方下载TCGA-PRAD的表达数据,其中部分样本临床信息的下载过程中遇到如图显示的error,但是最后显示“successfully downloaded:500”,我看gdc官方中clinical的数据也是500条,这种情况下,需要重新下载直到无报错信息为止呢,还是可以继续进行?
    1. 继续就行,数量对上了,如果后边有问题,后边会暴露的
  4. 如果用TCGA做测试集去验证GEO训练集的模型,TCGA的数据是不是要log处理呀。
    1. 这是基础知识,课程有讲
  5. 想请问一下WGCNA的输入数据是fpkm和rpkm都可以吗 我看公众号描述的有些不一样
  1. 都可以
  1. 所以我可以先下count做了差异分析后 去xena上面下fpkm的数据来做WGCNA吗
    1. 必须的可以啊!
  2. 老师们,想咨询两个问题,我查网上资料说TCGA命名规则里第16位上B 代表FFPE样本,A代表冰冻组织样本,但是我从XENA上下载的phenotype表格中发现有部分病例样本对应的FFPE.sample里显示FALSE,所以还是以样本ID为主认为这是FFPE样本吗?另外一个小问题是,我想做癌和癌旁的配对分析(RNA-seq数据),有的病例癌旁样本ID是代表FFPE样本的B,而肿瘤部位是A(冰冻组织样本),这种病例样本需要剔除么?谢谢各位老师
  1. 这是个非常细致的问题了,A和B代表的是冰冻和石蜡包埋样本,这个是没错的,如果是两个地方写的不一样,要以哪个为准,只能发信发信息去问问他们,因为这是样本的组织者决定的,存在点儿错误也是正常的,如果是我的话,我就以样本ID为准。有些东西并不一定要100%正确才能用,它只要是可用的就行了,再就是其实TCGA的分析还是很粗糙的,你去网页上翻一翻看看,我讲了两种让表达矩阵和临床信息对应上的方法,一个是以病人为中心,一个是以样本为中心,如果是以病人为中心的话,肯定有一个病人只能保留一个样本,如果是以样本为中心的话,都需要留下,至于说normal样本是不是必须冰冻或者FFPE类型太细了,没有人管的,大多数人连a和b代表的是什么都不知道。
  1. 老师同一GPL平台的数据合并,在去除批次效应的时候我只用到了batch-effect代码里的第二步limma.R,没有用第三步的combat.R?
    1. removebatcheffect和combat是两种去批次的办法,你用其中一个,当然没毛病[得意]
  2. 老师我想咨询一个问题,我有两个数据集,数据集一里面有肿瘤和对照的表达数据,数据集二里面只有肿瘤的,请问这种情况可以进行合并吗?
    1. 可以的
  3. 老师以及各位小伙伴,Agilent的双色芯片要怎样分析呀[破涕为笑][破涕为笑],求教,我找了一下网上没有合适的教程[捂脸][捂脸]我那天说错了,我回去认真看了一下我的第二个数据集的说明,它其实不是只有肿瘤,它是肿瘤/对照一起分析,分别标记cy3 cy5双色进行芯片检测的
    1. 我在GEO总结的部分列出了几个原始数据处理方式,你找过了没,里面有没有?如果确实没有,你把数据编号发一下,我得空帮你看看,没有教程是不可能的,要是真没有,我就给你写一个。如果你找的是这种过于小众的平台,那就直接换数据
  4. 请问老师有没有游泳图R代码 百度好像搜不到 只有SAS的教程
    1. 关键词 swimmer plot R
  5. 请问老师 分面以后 中间的空格怎么办?
    1. 为什么中间不能有空格儿?子图和子图之间本来就应该有间隔,如果你觉得非常重要,必须去掉,那你只能去搜一下ggpl里面怎样能把分面的时候两张图之间的间隔调整一下,有可能会有那样的参数。
  6. 这个该如何解决?

网上搜了是把不全列补全为NA,这样调整后感觉会对原始数据有影响呢?

  1. 确定一个办法不行,就换另一个,搜到的结果也不止这一个。其实解决这个问题是非常简单的,只想解决这一个问题的话,就从XENA上面去把他的生存信息和临床信息下载下来组合一下就行了,这个是最简单的解决你这一个问题的办法。如果想解决这一类问题,cbind.fill是一个办法,但他不是最好的办法。

  1. 老师们,这个图叫啥来着呢?
  1. 雷达图
  1. 老师,行名里面不允许有重复是听过的,但是这个不能有遗漏值是什么情况[破涕为笑]我用duplicated检查了一下也不存在有重复值的情况呀
  1. 试一下有无NA
  2. 终于解决了[捂脸]一时脑塞没想到NA去
  1. 想请问一下老师们 R中有没有办法模糊识别呀 就是我从两个地方下载得到的表格想要通过基因全称来合并 但是可能两边的基因全称有一点点区别 比如-变成空格这种 虽然变化很小 但是%in%就没法识别了
    1. R中没那么智能[呲牙]大小写都做不到,trims函数,所有有规则的地方,你都可以写成函数,这样的话模糊匹配就被你分解为十几二十个规则
    2. 可以在其中一个增加一列,根据另一个文件的文件名去把id微调成能匹配上的,然后根据这一列新的去做合并,不太可能会是随机变化 没有道理 找一找是有命名的规则的
  2. 老师,还是TCGA的laosso回归问题,我的病人1104个,有一个病人的event 是NA,在model的时候出现了图上的报错。然后我就把NA的病人去除了,model 的时候就出现了下面图X和y不相等的报错。
    1. xy是一一对应的,去掉x的NA还要把y的NA也去掉才行
  3. 老师,为什么我这个诺模图矫正曲线画出来是这样呀?
  1. 老师,我这个循环哪里错了?
    1. 昨天还能运行出来,今天就一直有这个报错,
  2. 老师,不知道为什么最后一步老是报错,
  1. 两个colname 不一致,仔细看,比较一下。

0 人点赞