美文网首页
R:小白常见报错及解决方法

R:小白常见报错及解决方法

作者: APRIL_bioinfo | 来源:发表于2019-06-17 10:10 被阅读0次

    报错是在运行R程序时我们最不想看到的,但对于初学者来说又是不可避免的。很多问题虽然看上去再小白不过了,但确实是我在工作中常被问到的。那么如何在程序报错后快速找到原因呢?这里给大家总结了一些新手常见的报错,以及如何解决它们。

    1. unexpected symbol 应该是新手最常见的报错。在出现这类报错时,第一反应就是查看error中出现错误的位置,在这个例子中,出现问题的地方应该是第一行到第二行的dat之间。找到位置后,仔细查看该位置的代码是否缺少/多余符号,这个例子中,就是缺少一个右括号。此时,只要加上一个右括号,问题就迎刃而解。

    dat <- as.data.frame(t(dat[,as.character(env$ID)])
    dat <- dat[,-1]
    Error: unexpected symbol in:
    "dat <- as.data.frame(t(dat[,as.character(env$ID)])
    dat"

    1. unexpected input,这个错误类似报错1,出现这类报错时,同样第一反应就是看报错位置的问号在哪,在该例子中,问号出现在table"之后,仔细看代码,会发现代码中问号所在的位置是一个中文格式的逗号。因此,将此逗号改成英文格式下的逗号就搞定了。

    dat <- read.table("OTU_frequency_more2.table",header = T)
    Error: unexpected input in "dat <- read.table("OTU_frequency_more2.table"?

    1. object not found 这类报错特别直观,就是找不到目标。在这个例子中,就是报错信息中的dat变量找不到。为什么会出现这种报错呢,真的是非常乌龙:第一行代码打在script上了却没有运行导致环境变量里没有叫dat的这个变量,第二行代码运行后自然就报这个错误啦~所以出现这类报错时,查看自己的环境变量是否缺少该目标,进而补充上就好啦。

    dat <- as.data.frame(t(dat[,as.character(env$ID)])
    dat <- dat[,-1]
    Error: object 'dat' not found

    1. 'height'要么是向量,要么是矩阵,很多同学看到这报错第一反应:这啥意思?height是啥?当遇到不懂的函数时,就可以运行?function这个格式来查找对于该function的help。在这里我们运行?barplot发现height即为函数的输入文件,于是可以知道这个报错就涉及到输入文件格式的问题了,报错上说明了barplot这个函数要求的输入文件格式应该是向量(vector)或者是矩阵(matrix),然而我们通过class(dat)发现dat的格式是数据框(data.frame),显然与要求不符。因此,解决方法就是将数据框格式转为矩阵,利用as.matrix(dat)即可。

    barplot(dat)
    Error in barplot.default(dat) : 'height'要么是向量,要么是矩阵

    TBC...

    相关文章

      网友评论

          本文标题:R:小白常见报错及解决方法

          本文链接:https://www.haomeiwen.com/subject/skbvzqtx.html