【问题标题】:I get this error " Error in log2(exprs(gset)) : non-numeric argument to mathematical function"我收到此错误“log2(exprs(gset)) 中的错误:数学函数的非数字参数”
【发布时间】:2018-06-27 23:08:13
【问题描述】:

代码是这样的:

gset <- ReadAffy()

pData(gset)

b1<-log2(exprs(gset))

boxplot(b1, col = 2:4)

str(exprs(gset))
List of 1
 $ : symbol gset

在第三行,我收到此错误“log2(exprs(gset)) 中的错误:数学函数的非数字参数”。

几天前我使用相同的代码和相同的数据没有任何问题,但现在我不知道出了什么问题。我没有改变任何东西。

【问题讨论】:

  • expres(gset) 必须是数字才能应用 log2() 函数。写class(exprs(gset))时返回什么?
  • 如果没有可重现的示例,几乎不可能调试它(这很难,因为 Affymetrix 数据集很大)。 str(exprs(gset)) 会很有用。
  • 返回列表。我上周使用它,我没有问题。我不明白发生了什么变化。
  • 我们也不知道发生了什么变化,但可以保证 某事 发生了变化 - 无论是您的数据,还是这些数据都不是确切相同的命令,或者(不太可能)您已经更新了软件包并且它的工作方式不同。您能否编辑您的问题以包含str(exprs(gset)) 的结果?
  • 确保你在一个干净的 R 会话中开始(没有加载不必要的包等)

标签: r runtime-error


【解决方案1】:

根据上面突出显示的冲突包的想法,可能的解释来自 dplyr 包中的 exprs 函数掩盖了 exprs Biobase 包中的 函数,因为这两个函数在两个包中具有相同的名称。

https://support.bioconductor.org/p/109128/#109719

我通过将 exprs=Biobase::exprs 放在我的脚本顶部解决了我的问题。

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    相关资源
    最近更新 更多