FitMultinomialModelFindUnknowns(DataArray,SampleCoordinates,UnknownDataArray,
MaxGridLength=20,RhoParameter=10,RestrictToLand=TRUE)
ConvertMicrosatData
for converting Microsatellite data files into a format appropriate for analysis,
ConvertPEDData
for converting Plink PED files into a format appropriate for analysis,FitOriGenModel
for fitting allele surfaces to the converted SNP data,
FitMultinomialModelFindUnknowns
for fitting allele surfaces to the converted Microsatellite data,
PlotAlleleFrequencySurface
for a quick way to plot the resulting allele frequency surfaces from FitOriGenModel
or FitMultinomialModelFindUnknowns
,;
#Data generation
SampleSites=10
NumberLoci=4
MaxAlleles=4
NumberAllelesAtEachLocus=sample(2:MaxAlleles,NumberLoci,replace=TRUE)
TestData=array(0,dim=c(MaxAlleles,SampleSites,NumberLoci))
for(i in 1:NumberLoci){
for(j in 1:NumberAllelesAtEachLocus[i]){
TestData[j,,i]=sample(1:10,SampleSites,replace=TRUE)
}
}
#Europe is about -9 to 38 and 34 to 60
TestCoordinates=array(0,dim=c(SampleSites,2))
TestCoordinates[,1]=runif(SampleSites,-9,38)
TestCoordinates[,2]=runif(SampleSites,34,60)
#Fitting the model
#MaxGridLength is the maximum number of boxes allowed to span the region in either direction
#RhoParameter is a tuning constant
NumberUnknowns=2
UnknownData=array(0,dim=c(NumberUnknowns,2,NumberLoci))
for(i in 1:NumberUnknowns){
for(j in 1:NumberLoci){
UnknownData[i,,j]=sample(1:NumberAllelesAtEachLocus[j],2)
}
}
trials2=FitMultinomialModelFindUnknowns(TestData,TestCoordinates,
UnknownData,MaxGridLength=20,RhoParameter=10)
str(trials2)
#Plotting the model
PlotUnknownHeatMap(trials2,UnknownNumber=1)
Run the code above in your browser using DataLab