如何使用adespatial软件包与ade4中的sPCA软件包相同

时间:2019-04-30 19:26:01

标签: r

我使用带有sPCA功能的adegenet软件包来了解我的遗传数据中是否存在地理模式。

vcf<- read.table("AMZ.012") #samples per line
vcf_m<-as.matrix(vcf)

# Add coordinates of samples
xy <-read.table("CoordAMZ_m.csv", sep=",") #geo coordinates for each sample

每行中的矩阵“ vcf”具有0和1(1表示存在信息,0表示没有信息)是不同的样本,如下例所示:

0 1 0 1
1 1 0 1
1 1 0 0

按照示例,我使用R中的adegenet软件包运行sPCA:

mySpca <- spca(vcf_m, xy, ask=FALSE, type=5, scannf=FALSE)

结果是:

This function is now deprecated. Please use the 'multispati' function in the 'adespatial' package. 

我尝试使用此新功能,但我不知道该如何使用与sPCA中所实现的相同的功能并获得相似的结果。我期望本pdf(http://adegenet.r-forge.r-project.org/files/tutorial-spca.pdf)第7页中有类似内容。

如果有人可以帮助我,我会很高兴。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定您是否仍然感兴趣,但这很简单。首先查看args(multispati),以了解需要什么。

所需的第一个参数是使用dudi包中的ade4进行的多变量排序分析。

我创建了一个dudi.pca

然后需要一个listw

这只是一个加权连接网络,与您在sPCA中使用的网络相似,但格式不同。

您可以像在sPCA中一样使用chooseCN

然后使用myCN函数将listw转换为nb2listw

希望这会有所帮助!

干杯, 凯特