1

有谁知道如何获取“basic.stats”(hierfstat)、“wc”(hierfstat)和/或其他 hierfstat 命令来处理 @pop 部分中具有 NA 的 genind 对象?我可以将 genind 转换为 hierfstat,但其他命令对 NA 不满意:

Error in 1:sum(data[, 1] == i) : NA/NaN argument

我想保持原始数据文件完整,因为它包含包含“NA”样本的其他信息和类别,我想尽可能从一个参考文件中工作。只有一些样本来自群体的单一代表,所以我不希望它们在其他数据中使用/显示(我稍后也映射样本并且不希望这些样本在那里)。


简而言之:我有一个fasta数据文件(PvMtFas)被制作成一个genind对象(PvMtGen)并从另一个文件(PvMtData)中添加了@pop,该文件在我正在使用的列中包含一些NA(并包含我使用的大量其他数据) . 这些 NA 似乎阻止我使用 hierfstat 中的 basic.stats 和 wc 命令。有什么简单的解决办法吗?

PvMtFas <- read.FASTA ('~/Documents/PvMtFasta.fasta')
PvMtGen <- DNAbin2genind(PvMtFas, pop=NULL, exp.char=c("a","t","g","c"), polyThres=1/100)
PvMtData <- read.csv ('~/Documents/PvMtData.csv')
PvMtGen$pop = PvMtData$GeoCatLV29  #PvMtData$GeoCatLV29 contains NA for some sequences

PvMtHier <- genind2hierfstat(PvMtGen)  #this works fine
basic.stats(PvMtGen)  #this doesn't
wc(PvMtGen)  #this doesn't

欢迎任何建议!我研究过使用“na.exclude”,但这不起作用(显然,因为我不确定如何在 genind 对象中定位@pop,我希望整个“行”消失,而不仅仅是@pop NA还有它所指的样本)。

4

0 回答 0