函数distance找不到继承方法

img


以上是我想运行的代码,不知道是不是哪里编写错误,具体该怎么修改呢?

在行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"