I would suggest that you try using the `incomp()` function to find any genotypes that are incompatible with other genotypes (e.g. they share no alleles in common). This function returns a square matrix of your samples with a 1 if they are compatible and 0 if they are incompatible. This will give you a quick idea of which samples you need to remove.
Also, vcfR just recently updated on CRAN, so I would highly recommend you use `vcfR2genind(svcf, return.alleles = TRUE)` to allow for within-sample variance to be calculated.
Here is an example of using `incomp()` to find and remove incomparable samples.
library(poppr)
data(nancycats)
strata(nancycats) <- data.frame(p = pop(nancycats))
nan <- nancycats[pop = c(1, 17), loc = c(1, 4)]
poppr.amova(nan, ~p, missing = "asis")
#> Warning in is.euclid(xdist): Zero distance(s)
#> Error in eigen(delta, symmetric = TRUE, only.values = TRUE): infinite or missing values in 'x'
rowSums(incomp(nan))
#> N215 N216 N282 N283 N288 N291 N292 N293 N294 N295 N296 N297 N281 N289 N290
#> 2 2 13 13 13 13 13 13 13 13 13 13 13 13 13
poppr.amova(nan[rowSums(incomp(nan)) > 2, ], ~p, missing = "asis")
#> Warning in is.euclid(xdist): Zero distance(s)
#> Distance matrix is non-euclidean.
#> Using quasieuclid correction method. See ?quasieuclid for details.
#> Warning in is.euclid(distmat): Zero distance(s)
#> $call
#> ade4::amova(samples = xtab, distances = xdist, structures = xstruct)
#>
#> $results
#> Df Sum Sq Mean Sq
#> Between p 1 3.238913 3.2389135
#> Between samples Within p 17 16.886126 0.9933015
#> Within samples 19 30.659856 1.6136766
#> Total 37 50.784895 1.3725647
#>
#> $componentsofcovariance
#> Sigma %
#> Variations Between p 0.1212120 8.507891
#> Variations Between samples Within p -0.3101875 -21.772115
#> Variations Within samples 1.6136766 113.264224
#> Total variations 1.4247011 100.000000
#>
#> $statphi
#> Phi
#> Phi-samples-total -0.13264224
#> Phi-samples-p -0.23796713
#> Phi-p-total 0.08507891