Проблема при рисовании сети гаплотипов с использованием {pegas} - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь создать сеть гаплотипов, используя пегас.Мне удалось создать базовую сеть, но когда я пытаюсь добавить кусочки разного цвета к каждому «пирогу», я не могу двигаться дальше.

Я повторю свою ошибку, используя набор данных woodmouse:

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"’

Любое предложениев чем может быть проблема?

1 Ответ

0 голосов
/ 16 ноября 2018

Сообщение об ошибке звучит так, как будто оно исходит от функции stack() из пакета raster, а не от базовой stack() функции.Пакеты могут определять функции с одинаковыми именами;R найдет тот из самого последнего загруженного пакета.Чтобы использовать версию из utils, вы можете поставить перед ней префикс пространства имен и ::.Например

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

Это должно решить проблему.

...