help、head、str函数需要敲1000遍以上

2020-12-17 11:13:08 浏览数 (1)

这句话:help、head、str函数需要敲1000遍以上,早在六年前我就在多个QQ群, 微信群,博客,论坛反复强调。但每年都有新人从零开始, 不一定能很好的get到我的这个思想。还好,我自己的教学团队可以帮我带几百人直接入门,学习班的这些学生们,我就可以“理直气壮”的要求他们思考,反思,总结规律,记笔记了。

下面是《数据挖掘第8期》学员投稿

遇到不懂的函数应该要看它的帮助文档,这将是一个很好的习惯。对于初学者来说,看博客往往更容易理解一些。而一味地临摹博客上的代码很容易产生难以发现的错误,给初学者造成了极大困扰。以下是我的亲身经历:

在利用DESeq2进行差异分析时,我试图读入一个数据框

可以看到,运行时报错了,报错内容是“line 1 did not have 5 elements”。我当时理解为,是命令行的第一行不足五个元素,于是再次加了两个参数进去,但还是报错,如下图所示

确认确实是5个参数后,我陷入了沉思,不知道哪里错了(加上那天大脑短路了)

于是查看了帮助文档,发现并没有硬性地要求必须是五个参数,同时看到有许多参数都有默认值,比如

帮助文档中的例子也体现了这个思想

那么问题出在哪呢

在大佬的提醒下,我用head命令查看了所读取的文件“deseq2_input.txt”,然后恍然大悟,发现我自己在Excel表格里面定义了五列(之所以会定义为五列数据,是因为过度依赖博客上面现成的代码,却没有联系自己的数据),而实际上我的数据只有三列,所以第一行数据始终只有三个元素,即错不在函数的参数,而在于我的文件,这是报错的根源所在。(我自己Excel制作了一个错误的文件,不适合R语言读取的)

了解到原因后,我删除了当前的deseq2_put.txt文件,重新在Excel里面生成了一个定义为三列的deseq2_put.txt文件,如图

进入R测试一下,成功!

为了防止犯类似的错误发生,应该在每次建好后使用head命令或者str命令查看一下,将错误扼杀在摇篮里。总而言之,听群主的话,把help、head、str函数需要敲1000遍以上

0 人点赞