【问题标题】:Issue while drawing an haplotype network using {pegas}使用 {pegas} 绘制单倍型网络时出现问题
【发布时间】:2018-11-15 21:45:48
【问题描述】:

我正在尝试使用 pegas 生成单倍型网络。我设法完成了基本网络,但是当我尝试为每个“馅饼”添加不同颜色的切片时,我似乎无法继续前进。

我将使用木鼠数据集复制我的错误:

data(woodmouse)
x <- woodmouse[sample(15, size = 110, replace = TRUE), ]
h <- haplotype(x)
net <- haploNet(h)
plot(net, size=attr(net, "freq"), scale.ratio = 2, cex = 0.8)

ind.hap<-with(
  stack(setNames(attr(h, "index"), rownames(h))), 
  table(hap=ind, pop=rownames(x)[values])
)

使用上面的代码,我设法绘制网络没有问题,但是当我尝试执行最后四行代码时,出现以下错误:

ind.hap<-with(
  stack(setNames(attr(h, "index"), rownames(h))), 
  table(hap=ind, pop=rownames(x)[values])
)

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘raster’ for signature ‘"integer"’

关于可能是什么问题的任何建议?

【问题讨论】:

  • 成功了,谢谢 MrFlick。我猜想与其他包有冲突,可能是光栅。干杯

标签: r dna-sequence phylogeny genetics


【解决方案1】:

错误消息听起来像是来自raster 包中的stack() 函数,而不是基本stack() 函数。包都可以定义同名的函数; R 将从最近加载的包中找到一个。要使用来自utils 的版本,您可以在其前面加上命名空间和::。例如

utils::stack(setNames(attr(h, "index"), rownames(h)))

这应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多