在行14中,你使用了一个未定义的变量Group,这可能是导致错误的原因。你应该在行14的data参数中指定一个包含Group列的数据帧。
此外,在行13和15中,你在引号内使用了一个单引号,这可能会导致语法错误。你应该使用双引号。
例如,你可以改为这样:
unweighted_unifrac<-distance(geneBio, method="unifrac", dist="unweighted")
adonis <-adonis2(geneBio~Group, data=GeneEnv, permutations=999, method="unifrac")
summary(adonis)
问下你这行代码哪来的unweighted_unifrac<-distance(geneBio, method="unifrac", dist="unweighted"),distance我查到是philentropy包的吧,那你这个函数的语法都错了。其次unifrac是phyloseq包的函数。
> library(philentropy)
> P <- 1:10/sum(1:10)
> Q <- 20:29/sum(20:29)
> data <- rbind(P,Q)
> distance(data, method = "euclidean")
Metric: 'euclidean'; comparing: 2 vectors.
euclidean
0.1280713
> getDistMethods()
[1] "euclidean" "manhattan" "minkowski" "chebyshev"
[5] "sorensen" "gower" "soergel" "kulczynski_d"
[9] "canberra" "lorentzian" "intersection" "non-intersection"
[13] "wavehedges" "czekanowski" "motyka" "kulczynski_s"
[17] "tanimoto" "ruzicka" "inner_product" "harmonic_mean"
[21] "cosine" "hassebrook" "jaccard" "dice"
[25] "fidelity" "bhattacharyya" "hellinger" "matusita"
[29] "squared_chord" "squared_euclidean" "pearson" "neyman"
[33] "squared_chi" "prob_symm" "divergence" "clark"
[37] "additive_symm" "kullback-leibler" "jeffreys" "k_divergence"
[41] "topsoe" "jensen-shannon" "jensen_difference" "taneja"
[45] "kumar-johnson" "avg"